summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--branches/sca-java-1.x/demos/alert-aggregator-webapp/pom.xml2
-rw-r--r--branches/sca-java-1.x/distribution/bundle/pom.xml28
-rw-r--r--branches/sca-java-1.x/distribution/manifest/pom.xml20
-rw-r--r--branches/sca-java-1.x/distribution/src/main/assembly/bin.xml2
-rw-r--r--branches/sca-java-1.x/distribution/src/main/assembly/src.xml18
-rw-r--r--branches/sca-java-1.x/distribution/src/main/release/CHANGES619
-rw-r--r--branches/sca-java-1.x/distribution/src/main/release/README6
-rw-r--r--branches/sca-java-1.x/distribution/src/main/release/RELEASE_NOTES6
-rw-r--r--branches/sca-java-1.x/distribution/src/main/release/bin/INSTALL6
-rw-r--r--branches/sca-java-1.x/distribution/src/main/release/bin/LICENSE4
-rw-r--r--branches/sca-java-1.x/distribution/src/main/release/src/BUILDING4
-rw-r--r--branches/sca-java-1.x/itest/atom/pom.xml4
-rw-r--r--branches/sca-java-1.x/itest/atom/src/test/java/test/abdera/NewsServiceTestCase.java1
-rw-r--r--branches/sca-java-1.x/itest/corba/pom.xml1
-rw-r--r--branches/sca-java-1.x/itest/distro-license-check/src/test/java/itest/LicenseTestCase.java10
-rw-r--r--branches/sca-java-1.x/itest/domainmgr/error/pom.xml12
-rw-r--r--branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/PropertiesTestCase.java8
-rw-r--r--branches/sca-java-1.x/itest/policy-security-basicauth/pom.xml2
-rw-r--r--branches/sca-java-1.x/itest/policy-security-basicauth/src/main/resources/definitions.xml4
-rw-r--r--branches/sca-java-1.x/itest/pom.xml6
-rw-r--r--branches/sca-java-1.x/itest/workspace-manager/src/main/java/org/apache/tuscany/sca/artifact/xyz/XYZProcessor.java4
-rw-r--r--branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworld.wsdl2
-rw-r--r--branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworldws.composite1
-rw-r--r--branches/sca-java-1.x/itest/wsdlgen/pom.xml1
-rw-r--r--branches/sca-java-1.x/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties1
-rw-r--r--branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-implementation-jee.xsd44
-rw-r--r--branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.java1
-rw-r--r--branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java13
-rw-r--r--branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServicePromotionBuilderImpl.java6
-rw-r--r--branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java6
-rw-r--r--branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java5
-rw-r--r--branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.java3
-rw-r--r--branches/sca-java-1.x/modules/assembly/src/main/resources/assembly-validation-messages.properties4
-rw-r--r--branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/Sort.java76
-rw-r--r--branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/SortImpl.java124
-rw-r--r--branches/sca-java-1.x/modules/binding-atom-js/LICENSE410
-rw-r--r--branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java2
-rw-r--r--branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java1
-rw-r--r--branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java1
-rw-r--r--branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java1
-rw-r--r--branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java1
-rw-r--r--branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java5
-rw-r--r--branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java3
-rw-r--r--branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleWebAlbumServiceTestCase.java7
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-policy/src/main/resources/org/apache/tuscany/sca/binding/jms/policy/definitions.xml2
-rw-r--r--branches/sca-java-1.x/modules/binding-jsonrpc-js/LICENSE410
-rw-r--r--branches/sca-java-1.x/modules/binding-jsonrpc-js/NOTICE3
-rw-r--r--branches/sca-java-1.x/modules/binding-jsonrpc-runtime/NOTICE4
-rw-r--r--branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/Data.java53
-rw-r--r--branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/Data2.java35
-rw-r--r--branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/POJOWSTestCase.java48
-rw-r--r--branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/TestService.java29
-rw-r--r--branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/TestServiceImpl.java59
-rw-r--r--branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/package-info.java21
-rw-r--r--branches/sca-java-1.x/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/test.composite32
-rw-r--r--branches/sca-java-1.x/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java45
-rw-r--r--branches/sca-java-1.x/modules/contribution-jee-impl/pom.xml18
-rw-r--r--branches/sca-java-1.x/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java6
-rw-r--r--branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java21
-rw-r--r--branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/SCAProxy.java6
-rw-r--r--branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java16
-rw-r--r--branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java6
-rw-r--r--branches/sca-java-1.x/modules/endpoint/pom.xml26
-rw-r--r--branches/sca-java-1.x/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java2
-rw-r--r--branches/sca-java-1.x/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/TransientNameService.java4
-rw-r--r--branches/sca-java-1.x/modules/host-embedded/pom.xml9
-rw-r--r--branches/sca-java-1.x/modules/host-webapp/pom.xml32
-rw-r--r--branches/sca-java-1.x/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java7
-rw-r--r--branches/sca-java-1.x/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaElementImpl.java27
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/runtime/context/SpringContextTie.java114
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java6
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLComponentTypeLoader.java120
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ConfigurationPropertiesExtensionPoint.java2
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultConfigurationPropertiesExtensionPoint.java8
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java14
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java5
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java5
-rw-r--r--branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringImplementationProcessor.java16
-rw-r--r--branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/store.html244
-rw-r--r--branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/storeJS.html296
-rw-r--r--branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/unitTests.html498
-rw-r--r--branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widgetJS.composite116
-rw-r--r--branches/sca-java-1.x/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java2
-rw-r--r--branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java1
-rw-r--r--branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java2
-rw-r--r--branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationFactoryImpl.java3
-rw-r--r--branches/sca-java-1.x/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java11
-rw-r--r--branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java33
-rw-r--r--branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java5
-rw-r--r--branches/sca-java-1.x/modules/node-impl/pom.xml7
-rw-r--r--branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java1
-rw-r--r--branches/sca-java-1.x/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java6
-rw-r--r--branches/sca-java-1.x/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyInterceptor.java4
-rw-r--r--branches/sca-java-1.x/modules/policy-security-http/LICENSE410
-rw-r--r--branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationCallbackHandler.java2
-rw-r--r--branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationPolicyProviderFactory.java4
-rw-r--r--branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationServicePolicyProvider.java2
-rw-r--r--branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/extensibility/DefaultLDAPSecurityExtensionPoint.java3
-rw-r--r--branches/sca-java-1.x/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java42
-rw-r--r--branches/sca-java-1.x/modules/web-javascript-dojo/NOTICE1
-rw-r--r--branches/sca-java-1.x/modules/web-javascript-dojo/build-dojo.xml2
-rw-r--r--branches/sca-java-1.x/modules/web-javascript-dojo/pom.xml14
-rw-r--r--branches/sca-java-1.x/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoModuleActivator.java2
-rw-r--r--branches/sca-java-1.x/modules/workspace-impl/pom.xml8
-rw-r--r--branches/sca-java-1.x/modules/workspace/pom.xml6
-rw-r--r--branches/sca-java-1.x/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/impl/WorkspaceFactoryImpl.java2
-rw-r--r--branches/sca-java-1.x/modules/xsd/pom.xml12
-rw-r--r--branches/sca-java-1.x/pom.xml33
-rw-r--r--branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/impl/EchoBindingProcessor.java6
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-sdo/pom.xml23
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BioTestCase.java51
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircle.java29
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircleImpl.java40
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/META-INF/sca-contribution.xml23
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/resources/clinicalLaboratory.composite16
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/test.xsd17
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/java/helloworld/HelloWorldServer.java2
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/resources/helloworldwsjms.composite2
-rw-r--r--branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/test/java/helloworld/HelloWorldJmsServerTestCase.java2
-rw-r--r--branches/sca-java-1.x/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java50
-rw-r--r--branches/sca-java-1.x/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite7
-rw-r--r--branches/sca-java-1.x/samples/quote-xquery/src/test/java/xquery/quote/XQueryQuoteClientTestCase.java2
-rw-r--r--branches/sca-java-1.x/samples/simple-bigbank-spring/README7
-rw-r--r--branches/sca-java-1.x/samples/spring-bigbank-stockquote/src/main/resources/StockQuote.composite2
-rw-r--r--branches/sca-java-1.x/samples/store-webapp/pom.xml17
-rw-r--r--branches/sca-java-1.x/samples/store-webapp/src/main/webapp/META-INF/sca-contribution.xml44
-rw-r--r--branches/sca-java-1.x/samples/store-webapp/src/main/webapp/store.html324
-rw-r--r--branches/sca-java-1.x/tools/eclipse/features/core/META-INF/MANIFEST.MF2
-rw-r--r--branches/sca-java-1.x/tools/eclipse/features/core/feature.xml4
-rw-r--r--branches/sca-java-1.x/tools/eclipse/plugins/core/META-INF/MANIFEST.MF2
-rw-r--r--branches/sca-java-1.x/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java2
-rw-r--r--branches/sca-java-1.x/tools/eclipse/site/updatesite/site.xml8
-rw-r--r--branches/sca-java-1.x/tools/pom.xml2
-rw-r--r--branches/sca-java-1.x/tutorials/store/README4
-rw-r--r--branches/sca-java-1.x/tutorials/store/store-test/pom.xml7
-rw-r--r--branches/sca-java-1.x/tutorials/store/store-test/test/StoreSupplierTestCase.java14
136 files changed, 3227 insertions, 1950 deletions
diff --git a/branches/sca-java-1.x/demos/alert-aggregator-webapp/pom.xml b/branches/sca-java-1.x/demos/alert-aggregator-webapp/pom.xml
index c2059fe1b9..d4c80f5291 100644
--- a/branches/sca-java-1.x/demos/alert-aggregator-webapp/pom.xml
+++ b/branches/sca-java-1.x/demos/alert-aggregator-webapp/pom.xml
@@ -68,7 +68,7 @@
<groupId>backport-util-concurrent</groupId>
<artifactId>backport-util-concurrent</artifactId>
<version>3.1</version>
- </dependency>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-ws-axis2</artifactId>
diff --git a/branches/sca-java-1.x/distribution/bundle/pom.xml b/branches/sca-java-1.x/distribution/bundle/pom.xml
index 4192216436..0292aad046 100644
--- a/branches/sca-java-1.x/distribution/bundle/pom.xml
+++ b/branches/sca-java-1.x/distribution/bundle/pom.xml
@@ -52,6 +52,11 @@
<artifactId>tuscany-binding-atom-js</artifactId>
<version>${pom.version}</version>
</dependency>
+ <!--dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>tuscany-binding-atom-js-dojo</artifactId>
+ <version>${pom.version}</version>
+ </dependency-->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>tuscany-binding-atom-abdera</artifactId>
@@ -107,6 +112,11 @@
<artifactId>tuscany-binding-jsonrpc-js</artifactId>
<version>${pom.version}</version>
</dependency>
+ <!--dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>tuscany-binding-jsonrpc-js-dojo</artifactId>
+ <version>${pom.version}</version>
+ </dependency-->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
@@ -449,6 +459,11 @@
<artifactId>tuscany-implementation-widget-runtime-tuscany</artifactId>
<version>${pom.version}</version>
</dependency>
+ <!--dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>tuscany-implementation-widget-runtime-dojo</artifactId>
+ <version>${pom.version}</version>
+ </dependency-->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>tuscany-node-api</artifactId>
@@ -520,6 +535,11 @@
<artifactId>tuscany-web-javascript</artifactId>
<version>${pom.version}</version>
</dependency>
+ <!--dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>tuscany-web-javascript-dojo</artifactId>
+ <version>${pom.version}</version>
+ </dependency-->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>tuscany-workspace</artifactId>
@@ -550,17 +570,13 @@
<artifactId>tuscany-wsdl2java</artifactId>
<version>${pom.version}</version>
<exclusions>
-
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
-
<artifactId>geronimo-activation_1.1_spec</artifactId>
</exclusion>
-
</exclusions>
</dependency>
-
- <dependency>
+ <dependency>
<groupId>org.apache.tuscany.sdo</groupId>
<artifactId>tuscany-sdo-impl</artifactId>
<version>1.1.1</version>
@@ -577,13 +593,11 @@
</exclusion>
</exclusions>
</dependency>
-
<dependency>
<groupId>org.apache.tuscany.sdo</groupId>
<artifactId>tuscany-sdo-tools</artifactId>
<version>1.1.1</version>
</dependency>
-
</dependencies>
<build>
diff --git a/branches/sca-java-1.x/distribution/manifest/pom.xml b/branches/sca-java-1.x/distribution/manifest/pom.xml
index 160051e2d5..b27e679331 100644
--- a/branches/sca-java-1.x/distribution/manifest/pom.xml
+++ b/branches/sca-java-1.x/distribution/manifest/pom.xml
@@ -60,6 +60,11 @@
<artifactId>tuscany-binding-atom-js</artifactId>
<version>${pom.version}</version>
</dependency>
+ <!--dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>tuscany-binding-atom-js-dojo</artifactId>
+ <version>${pom.version}</version>
+ </dependency-->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>tuscany-binding-atom-abdera</artifactId>
@@ -210,6 +215,11 @@
<artifactId>tuscany-binding-jsonrpc-js</artifactId>
<version>${pom.version}</version>
</dependency>
+ <!--dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>tuscany-binding-jsonrpc-js-dojo</artifactId>
+ <version>${pom.version}</version>
+ </dependency-->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
@@ -492,6 +502,11 @@
<artifactId>tuscany-implementation-widget-runtime-tuscany</artifactId>
<version>${pom.version}</version>
</dependency>
+ <!--dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>tuscany-implementation-widget-runtime-dojo</artifactId>
+ <version>${pom.version}</version>
+ </dependency-->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>tuscany-node-api</artifactId>
@@ -548,6 +563,11 @@
<artifactId>tuscany-web-javascript</artifactId>
<version>${pom.version}</version>
</dependency>
+ <!--dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>tuscany-web-javascript-dojo</artifactId>
+ <version>${pom.version}</version>
+ </dependency-->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>tuscany-workspace</artifactId>
diff --git a/branches/sca-java-1.x/distribution/src/main/assembly/bin.xml b/branches/sca-java-1.x/distribution/src/main/assembly/bin.xml
index 038e3164b1..9c4373379c 100644
--- a/branches/sca-java-1.x/distribution/src/main/assembly/bin.xml
+++ b/branches/sca-java-1.x/distribution/src/main/assembly/bin.xml
@@ -119,6 +119,8 @@
<exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp</exclude>
<exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp/**/*</exclude>
<exclude>feed-aggregator-webapp/target/war</exclude>
+ <exclude>store-dojo</exclude>
+ <exclude>store-dojo/**/*</exclude>
<exclude>store-webapp/target</exclude>
<exclude>store-webapp/target/**/*</exclude>
<exclude>helloworld-dojo-webapp/src/main/webapp/dojo</exclude>
diff --git a/branches/sca-java-1.x/distribution/src/main/assembly/src.xml b/branches/sca-java-1.x/distribution/src/main/assembly/src.xml
index e8b91dd83d..933af5652e 100644
--- a/branches/sca-java-1.x/distribution/src/main/assembly/src.xml
+++ b/branches/sca-java-1.x/distribution/src/main/assembly/src.xml
@@ -85,6 +85,8 @@
<exclude>distribution/target-last-successful</exclude>
<exclude>distribution/target-last-successful/**/*</exclude>
<exclude>itest/velocity.log</exclude>
+ <exclude>itest/atom/work</exclude>
+ <exclude>itest/atom/work/**/*</exclude>
<exclude>itest/bpel/helloworld-ws/work</exclude>
<exclude>itest/bpel/helloworld-ws/work/**/*</exclude>
<exclude>itest/callablereferences/work</exclude>
@@ -104,14 +106,20 @@
<exclude>itest/domain/work/**/*</exclude>
<exclude>itest/exceptions-simple-ws/work</exclude>
<exclude>itest/exceptions-simple-ws/work/**/*</exclude>
- <exclude>itest/large-sdo-ws/</exclude>
- <exclude>itest/large-sdo-ws/**/*</exclude>
+ <exclude>itest/late-reference-resolution/work</exclude>
+ <exclude>itest/late-reference-resolution/work/**/*</exclude>
<exclude>itest/policy/work</exclude>
<exclude>itest/policy/work/**/*</exclude>
+ <exclude>itest/policy-security-basicauth/work</exclude>
+ <exclude>itest/policy-security-basicauth/work/**/*</exclude>
+ <exclude>itest/spring/work</exclude>
+ <exclude>itest/spring/work/**/*</exclude>
<exclude>itest/transaction/derbydb</exclude>
<exclude>itest/transaction/derbydb/**/*</exclude>
<exclude>itest/ws-void-args-return/work</exclude>
<exclude>itest/ws-void-args-return/work/**/*</exclude>
+ <exclude>vtest/assembly/component/work</exclude>
+ <exclude>vtest/assembly/component/work/**/*</exclude>
<exclude>vtest/wsbinding/nowsdl/defaultbinding/work</exclude>
<exclude>vtest/wsbinding/nowsdl/defaultbinding/work/**/*</exclude>
<exclude>vtest/wsbinding/nowsdl/multisoapbindings/work</exclude>
@@ -120,6 +128,12 @@
<exclude>vtest/wsbinding/nowsdl/promoted/work/**/*</exclude>
<exclude>vtest/wsbinding/nowsdl/soapversion/work</exclude>
<exclude>vtest/wsbinding/nowsdl/soapversion/work/**/*</exclude>
+ <exclude>vtest/wsbinding/wsdlelement/binding/work</exclude>
+ <exclude>vtest/wsbinding/wsdlelement/binding/work/**/*</exclude>
+ <exclude>vtest/wsbinding/wsdlelement/port/work</exclude>
+ <exclude>vtest/wsbinding/wsdlelement/port/work/**/*</exclude>
+ <exclude>vtest/wsbinding/wsdlelement/service/work</exclude>
+ <exclude>vtest/wsbinding/wsdlelement/service/work/**/*</exclude>
<exclude>vtest/wsbinding/service/work</exclude>
<exclude>vtest/wsbinding/service/work/**/*</exclude>
<exclude>modules/domain-impl/work</exclude>
diff --git a/branches/sca-java-1.x/distribution/src/main/release/CHANGES b/branches/sca-java-1.x/distribution/src/main/release/CHANGES
index 11c602945d..e86ea351a2 100644
--- a/branches/sca-java-1.x/distribution/src/main/release/CHANGES
+++ b/branches/sca-java-1.x/distribution/src/main/release/CHANGES
@@ -1,3 +1,622 @@
+Changes With Apache Tuscany SCA 1.5.1 October 2009
+==================================================
+
+Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY):
+
+TUSCANY-2640 - Should use package(s) when possible in creating JAXBContext, not set of Classes
+TUSCANY-2878 - Moving to Dojo dependencies to Dojo 1.3.0 official release
+TUSCANY-2906 - Resolve wsdl:import and xsd:import using namespace
+TUSCANY-2967 - back out the trial change to bytes format messages so that all wire formats consistently return faults as JMS Object messages.
+TUSCANY-2978 - Add more JEE tests to help show that the nested composites are resolved/built correctly.
+TUSCANY-2984 - Adding prioritization while starting module activators to allow module activators dependencies to start first
+TUSCANY-3018 - EarContributionProcessor's URL.setURLStreamHandlerFactory() fails with factory already defined error
+TUSCANY-3052 - Update JEE processing to resolve the JEEImplementation composite.
+TUSCANY-3058 - Correct use of JMSCorrelationID to use an uppercase trailing 'D'
+TUSCANY-3059 - correct perationProperties JMSDeliveryMode set in headers JMSDeliveryMode
+TUSCANY-3062 - another work round to get resolution doing something in the domain manager
+TUSCANY-3063 - Adding new tests to ensure JSON-RPC binding can handle special characters when generating SMD
+TUSCANY-3065 - fix double use exposure in JAXBDataSource
+TUSCANY-3068 - Improve validation in JMS processors.
+TUSCANY-3069 - Implementation.spring cannot resolve the location or bean classes if the contribution is not on the TCCL
+TUSCANY-3070 - Work round to treat the symptom of activators being discovered twice on the classpath.
+TUSCANY-3075 - don't write out the services and references generated to handle callbacks.
+TUSCANY-3076 - The DefaultWorkScheduler only has 10 threads in the pool and it causes deadlock.
+TUSCANY-3077 - Allow the thread pool for conversation manager to be shutdown
+TUSCANY-3086 - Making DefaultContributionFactory implement contribution factory interface to avoid issues with model extention point
+TUSCANY-3080 - NPE thrown while checking for Spring Version
+TUSCANY-3096 - Switch off SCA Annotation support for Implementation.Spring
+TUSCANY-3097 - Add test to see if the application composites of modules inside anEAR are processed (they shouldn't be)
+TUSCANY-3098 - don't throw an NPE is a property doesn't have a name
+TUSCANY-3099 - log an error if an invalid header priority is entered
+TUSCANY-3104 - Using "FileSystemXmlApplicationContext" to load multiple application context files has problems with relative path identification
+TUSCANY-3109 - Added unit test for using Atom binding on a Java component implementation class that does not have a get() method
+TUSCANY-3110 - Updated the atom binding so that the description can be set using the description attribute.
+TUSCANY-3111 - Fixed NPE when using the RSS binding
+TUSCANY-3112 - Make sure that the feed entry has the links set on it otherwise the title of the item in the RSS feed will not be converted to a URL
+TUSCANY-3113 - Added get() method to the rss.Collections interface
+TUSCANY-3114 - Added a basic get test for the RSS feed
+TUSCANY-3116 - add support for the operationPropertyName attribute to the JMS binding model
+TUSCANY-3120 - improve write processing so that it writes out what has been entered and ignores defaults where possible.
+TUSCANY-3121 - binding.atom should leverage introspection when setting up call to mediator
+TUSCANY-3124 - Check for wireFormat/operationSelector before other operations
+TUSCANY-3125 - enable policy processing in binding.http
+TUSCANY-3128 - force the bean factory classloader to be the contribution classloader as it's reset by the application context on refresh.
+TUSCANY-3140 - Test for difference between loadtime and runtime classloaders
+TUSCANY-3141 - Generated WSDL for void unwrapped operations has a return part for the response message
+TUSCANY-3148 - remove version dependency from zip based JEE itests
+TUSCANY-3149 - Generally be more careful about removing object references in host-webapp.
+TUSCANY-3153 - imported XSDefinition should be set with XmlSchema as well
+TUSCANY-3155 - Support for spring implementation location as folder without manifest scenario
+TUSCANY-3162 - problem building JAXBContext when package has mixed JAXBs, non-JAXBs
+TUSCANY-3163 - Fixing non-ascii characters that were producing build failure when using IBM JDK 1.6
+TUSCANY-3166 - Making the test case works using the generated java interface
+TUSCANY-3167 - Look to cache JAXBPropertyDescriptor in XMLRootElementUtil
+TUSCANY-3169 - invalid characters in generated reference binding names
+TUSCANY-3170 - add callback URI configuration support to domain manager
+TUSCANY-3171 - domain manager does not load definitions.xml files
+TUSCANY-3172 - domain manager doesn't report errors cleanly to the nodes
+TUSCANY-3174 - Add workspace manager updates to workspace
+TUSCANY-3177 - create the extension point registry earlier so that any programmatic changes to it are reflected in the runtime configuration
+TUSCANY-3178 - read the validation schema extension point from the extension point registry rather than creating a local copy
+TUSCANY-3185 - Warning message of duplicates during multiple spring application context processing
+TUSCANY-3193 - fully support binding.sca in the domain manager
+TUSCANY-3195 - merge fix from 1.x to 1.5.1 for Inherently-provided intents do not work at operation level
+TUSCANY-3198 - keep generated EJB component implementations distinct.
+TUSCANY-3199 - WebImplementationProcessor should prefix web.componentType URI with WEB-INF
+TUSCANY-3200 - Add the dojo copyright to the NOTICE file to be consistent with the top level binary NOTICE file
+TUSCANY-3202 - Spring bean name as service names for implicit services
+TUSCANY-3213 - ProblemImpl resides in assembly and means that other module have to access an impl packed to create a problem
+TUSCANY-3235 - Java2 security problem
+TUSCANY-3237 - Remove auto indexing logic for constructors
+TUSCANY-3238 - Use of WS binding results in exception when returning data
+TUSCANY-3240 - Closing reader after processing spring application-context.xml
+TUSCANY-3247 - Making interfaces and instantiatng widget factory via extension point mechanism
+TUSCANY-3248 - Removing quoted tokens to avoid issues on linux/mac os environment
+TUSCANY-3249 - providing on/off feature for multiple application context support
+TUSCANY-3251 - Fix interface compatibility checking for callback operations
+TUSCANY-3254 - null returned by RequestContext.getCallbackReference()
+TUSCANY-3255 - Consolidate JMS session management in JMSResourceFactory
+TUSCANY-3264 - Tyiding up how we write the schema prefix as per StAX spec
+TUSCANY-3267 - ensure wrapper elements have nillable=false
+TUSCANY-3272 - create class to run holder tests when run from the distribution
+TUSCANY-3292 - fixing how spring context path is calculated
+
+Changes With Apache Tuscany SCA 1.5 May 2009
+============================================
+
+- Add dependency on jaxws (as the code now uses the Holder class) so it compiles on pre-JDK6
+- Merge branch 'tuscany-2663'
+- Remove unneeded deploy.xml and .componentType files
+- Reverting changes from revision #734356 and there was some merge conflicts that were not supposed to get to svn.
+- TUSCANY-2463 - Properly register default attribute processor to handle extended attributes
+- Exclude xsd module from base
+- Fixes for TUSCANY-2772
+- Renaming test cases to follow same naming pattern
+- Updating testcase to JUnit 4
+- TUSCANY-2463 - Storing extended attributes in a second list, wrapped into a extension class that stores the attribute QName, it's value
+- Removing obsolet test composite
+- TUSCANY-2663 - UPdating test scenarios to split valid extended element from invalid scenario where require attribute has empty value
+- TUSCANY-2463 - Last adjustments to test processors to support the extension attribute wrapper
+- TUSCANY-2463 - Fixing model object definition for extended attribute processor
+- copy stest framework from 2.x to consider potentially reusing in 1.x
+- Tuscany 2768 - sample showing web services Holder support (input/output parameters)
+- Start adding resources for a test of folder and zip contributions which contain application jars
+- TUSCANY-2783 - Adding schema for GData binding
+- TUSCANY-2783 - Integrating GData schema to tuscany schema
+- TUSCANY-2781 - Adding schema for Corba binding
+- TUSCANY-2781 - Integrating Corba schema to tuscany schema
+- TUSCANY-2781 - Fixing Corba schema with right binding name
+- TUSCANY-2784 - Adding schema for Java EE implementation
+- TUSCANY-2784 - Integrating Java EE schema to sca schema
+- Move to a seperate itest as that makes the itest simpler
+- Add an itest for folder contributions and zip contributions containing jars
+- Demonstrate how the non-JAXWS base class can be used. Add some ignores.
+- Start looking at seperating out the JMS service side listener functions into a pluggable module so different runtime environments can plug in their own runtime specific code. This should help the geronimo plugin support JMS using the Geronimo JMS provider and JCA, and any others who are using Tuscany deeply embedded in a container. Not in the build yet or used by the current JMS binding till it gets a bit further
+- and related to r737718 a module for the current JMS binding listener code that uses the 'asf' approach of a JMS listener spawning unmanaged threads to process messages
+- TUSCANY-2794 - JMS callback property variable ends with space - not a valid Javaidentifier
+- Removing holder-ws-service from pom as it seems the sample is not available
+- Process services in component pre-processing.
+- Start to add some JMS host interfaces
+- Start to add some JMS host default implementations
+- Fixes for TUSCANY-2771
+- Make jms host an extension point
+- Make the default jms host use the jms host extension point
+- Remove unused code
+- Add method to get the service destination to the jms host as you need that to get callbacks working
+- Implement the getDestination method in the default jms host
+- Intial cut at changing the jms binding to use the jms host for the service listener
+- Update the pom.xml to include a jms host
+- Update the pom.xml to include a jms host
+- update the jms itests to include a jms host
+- TUSCANY-2663 - Workaround for 'java.lang.IllegalStateException: The current state is not START_DOCUMENT' when in WebSphere env
+- Refactoring common code to simplify processing extended attributes
+- Adding support for extended attributes to webservices binding
+- Fixing test failures by ignoring tuscany NS when processing extended attributes
+- Adding support for extended attributes to EJB binding
+- Adding support for writing extended attributes to EJB binding
+- Adding support for extended attributes to java implementation
+- Removing System.out from WS Policy processor
+- Adding support for extended attributes to java interface
+- Adding support for extended attributes to wsdl interface
+- Remove some targetNamespace attributes
+- Remove some targetNamespace attributes
+- TUSCANY-2291, Separate the mixed callback error validation test from the other callback tests so that the error doesn't affect the rest of the tests
+- Removing obsolete dependency
+- Fixing sca.tld copy by adding rtexprvalue attribute
+- TUSCANY-2798: Add an itest for a service sending the response to the response destination defined on the jms binding element if the request message doesn't have a replyTo set
+- TUSCANY-2798: Fix the jms binding to use the destination in the binding response element when the request message has no replyto
+- TUSCANY-2776 The JMSBindingProcessor does not perform validation of binding properties
+- TUSCANY-2803 - Improvement to component matching in NodeImpl
+- TUSCANY-2463 - New test case that exercises extended attributes in bindings
+- Removing system.out from AnyAttribute test case
+- Removing unused imports
+- TUSCANY-2701 NPE when verifying conformance item ASM60006 in OASIS sepc
+- TUSCANY-2799 - don't return responses inside arrays. Generally reorg the code so that the message processors only worry about getting data in and out of JMS message while the interceptors worry about whether the data should be wrapped as an array. In this way the forward path can do array wrapping in order to keep databinding happy while the response path can omit array wrapping
+- Commit update to jms sca binding left off the change to the JMS binding to use the JMS Host
+- TUSCANY-2799 Fix NPE in JMS Object wire format when a null object is returned. Add a test also.
+- Remove target namespace from contribution.xml of distributed calculator
+- Add jms host modules to the build
+- TUSCANY-2820: start adding support for the varrious property elements on the jms binding
+- Fixes for TUSCANY-2451
+- Update validation tests for jms binidng updates
+- Correct dependency with backlevel version
+- TUSCANY-2823 Callback problem with COMPOSITE scoped implementation
+- Add support for operation property properties to binding.jms
+- Add support for resourceAdapter and its properties
+- Add support for resourceAdapter and its properties
+- TUSCANY-2821 Added JMS Binding APIs public Set&lt;String&gt; getOperationNames() and public Object getOperationProperty(String opName, String propName ).
+- TUSCANY-2463 - Fixing Web Service binding processor to propertly get a reference to Extended Attribute processor
+- Fixes for MTOM TestCase
+- TUSCANY-2824 - Turn the binding.ws policy handlers back on. The ws policy handlers are now present but commented out as they are causing problems in the Axis 1.4.1 stack. Update the keys for the binding.ws tests cases so they remain valid for a long time.
+- TUSCANY-2835 JMS Binding does not save operation names unless there are properties.
+- Merge branch 'bpel-resolver'
+- Removing system.out used for debug
+- Fix the TLD to use jsp taglib 2.1 xsd
+- TUSCANY-2463 - Enabling extended attribute support for default sca binding
+- Apply the TLD fix to use jsp taglib 2.1 xsd in the other copy sca.tld
+- Simplify so you can use createNode() instead of createNode(null, null)
+- Add jms itest using a response ConnectionFactory
+- Move jms responsecf itest to its own module to make it eaisier to debug
+- Remove erronious warning about response connection factory not being processed
+- TUSCANY-2841: start to add support for using a seperate response connection factory
+- Update for resource factory changes
+- Update noreply itest for change to not return Object arrays
+- Add jms noreply itest to itest build
+- Update jms response connectionFactory itest to correctly setup jndi resources
+- TUSCANY-2839: Start at supporting services invoked by oneway requests not needing a response connection factory
+- TUSCANY-2824 - turn WSSecurity based policy back on. Two not so great fixes here. Firstly WSSecurityPolicyHandler pushes a property into the Axis configuration context to force Rampart to recognize the policy. I haven't discovered what part of our configuration is required to do this properly. Secondly I fixed the helloworld-ws-service-secure test case to reference the wsdl on binding.ws. Without this you get a NPE in axis/rampart as it fails to map binding operations to port type operation using QNames (don't know why it thinks these are QNames). Our generated WSDL has the generated binding in a different namespace to the port type. Associating the wsdl binding with binding.ws means that the binding is not generated at the made up QNames match. I also updated a few key stores as the runtime was complaining about X509 certificate version numbers.
+- Add a jms oneway itest with a nondefault connection factory
+- Set svn ignores
+- Make sure resource factory gets set before use to avoid any NPEs
+- TUSCANY-2825 JMSBindingProcessor missing 'write' method implementation
+- TUSCANY-2847 - Updating composite used to verify any element processing
+- TUSCANY-2836 remove DEFAULT_DESTINATION_NAME and DEFAULT_RESPONSE_DESTINATION_NAME and use null instead as these are just strings to indicated that there is no destination rather than being a default destination
+- Fix for TUSCANY-2846
+- Reenable a commented out test as the jira has been fixed
+- Add a JMS test for exceptions using a non-SCA JMS client. Doesn't actually test the responses yet but the framework is there to send and receive the messages to the sca service
+- UPdate jms exceptions testcase so the object format tests work
+- Add the jms nonsca excpetions test to build
+- Fixes for TUSCANY-2840
+- Change XMLTextMessageProcessor to override the createFaultMessage to handle FaultExceptions
+- Activate text and object tests in the jms nonsca client exxceptions test
+- Activate the unchecked exception test, still need to establish what the response should really look like
+- Correct test name
+- Partial fix for exceptions for sca clients using text xml wireformat
+- Update JAXWSFaultExceptionMapper to handle extra contsructor
+- Comment out failing assertions for the time being
+- Update with JIRA about the problem
+- Fix for TUSCANY-2779. Thanks zhulei for the patch.
+- Remove old test thats nolonger applicable
+- TUSCANY-2839: Add checks to bypass response processing for oneway operations
+- TUSCANY-2845: Change JMS binding so unchecked exceptions are returned as RuntimeExceptions
+- Use Logger instead e.printStackTrace
+- Fix for TUSCANY-2854: remove the use of "tempuri.org"
+- TUSCANY 2855 - Adding Holder WS Sample
+- TUSCANY-2855 Holder sample not appearing (part 2, missed a few files)
+- Fix the JAXBException if package-info annotated with @XmlSchema is present without ObjectFactory
+- Fix for TUSCANY-2702
+- Fix for TUSCANY-2860
+- Fixes for TUSCANY-2840-Part2
+- Fixes for TUSCANY-2840-Part3
+- Add a method that returns an unchecked exception
+- Add ignores
+- Commit some code to write out composite model during processing. Uncomment to use.
+- TUSCANY-2859: Add a closeResponseConnection method to the JMSResourceFactory
+- TUSCANY-2849 Unable to define operation-level intents on binding.jms
+- TUSCANY-2861: Add an itest for sending/receiving null
+- Add jms-nulls itest to build
+- TUSCANY-2861: Fix Object wireformat to deal with receiveing a null message correctly
+- Fix already closed bug when the responseConnection is the same as the request connection
+- Fix already closed bug with oneway requests
+- Add BPEL document resolver to defer to namespace imports if document is not found in current contribution
+- Make property ids optional
+- Fix for TUSCANY-2550
+- Fix for TUSCANY-2550
+- TUSCANY-2867 - Pass checked exceptions as InvocationTargetExceptions. Don't rely on boolean fault flag for messages of object type. Thanks for the patch Kaushik
+- TUSCANY-2857 Correct handling of JMSDeliveryMode and JMSPriority
+- Improve some assembly component tests to be more specific
+- TUSCANY-2856 'property' validation conflicts with osoa spec
+- Correct the type of message that CompositeProcessor reports for a CompositeReadException and correct a few tests to take account of this and another couple of exception funnies.
+- Fix the push/pop out of sequence issue
+- Adding new store-secure sample to exercise security policy in web 2.0 extensions
+- Adding support to enable SSL when using binding-http using Confidentiality policy intent
+- Minor cleanup on the policy properties
+- Refactoring confidentiality policy support for http bindings to it's own module
+- Updating NodeWebAppServletHost to provide new version of addServletMapping
+- Updating WebAppServletHost to provide new version of addServletMapping
+- Adding support for enabling and configuring authentication for embedded http server using policy
+- Removing empty folder
+- TUSCANY-2868 - Add more assembly/component test cases. Thanks for the patch Jun Guo
+- TUSCANY-2864 - Fix end of test comment. Thanks for the patch emily
+- TUSCANY-2874 - Add ASM_6030_TestCase - thanks for the patch Susan
+- Fix for TUSCANY-2875
+- Fix for TUSCANY-2875
+- TUSCANY-2897 JMSBinding model should be QNames not Strings
+- TUSCANY-2871 ClassCastException using atom-abdera binding
+- Only create a transport description for the JMS transport if JMS is configured to be in use.
+- Fixes for TUSCANY-2642, 2909, 2910
+- Fixes for TUSCANY-2642
+- Remove SpringSCAPropertyElement.java.orig
+- Removing empty folder
+- TUSCANY-2905 Implement third rule which is supposed to look for an operation name in the root element of the XML payload
+- TUSCANY-2907 Stest code
+- Adding code to use full binding uri when provided, otherwise using relative path - note that code is commented out for now
+- TUSCANY-2884 - more composite vtests. Thanks for the patch Susan.
+- Updating-DWR-dependency-level-to-2.0.3
+- Placing gif jpg files used for testing in test resource folder
+- Moving to use DOJO 1.3.0b3
+- Update scn urls required by continuuns builds
+- Updating project name to help identify (1.x) versus (2.x) builds in continuuns environment
+- Fix the J2W generation issue which misses the target namespace
+- Make the artifactURI "" resolve to the sourceURL.
+- Added an EAR packaging type. Updated WAR to use PackageType.WAR.
+- o JavaEE processors to introspect WAR, JAR and EAR files and create model objects
+- Missing and wrongly placed license headers.
+- Updated the methods to throw ContributionReadException.
+- Java EE Introspection code using OpenEJB.
+- URI "" corresponds to the archive as an artifact.
+- Fix a regression caused by r755474
+- Use the JavaEE optional extension to compute SCA references and SCA properties from Remote EJB3 references and EnvEntries.
+- Use the JavaEE extensions to compute SCA services, SCA references and SCA properties from EJB3 business interfaces, Remote EJB3 references and EnvEntries.
+- Only introspect the fault type if the JAXWS interface processor hasn't figured out the databinding
+- Produce xsi:type for local elements
+- Add contribution-jee to the build to avoid break
+- Removing obsolete schema file for binding-gdata
+- Removing @author per Apache best practices
+- Adding support for Jaas authentication policy to component services
+- Removing system.out debug message
+- Wrapping the invocation with a message, in order to pass extra information during invocation
+- Removing @author per Apache best practices
+- Properly handling business/runtime exception with new invocation method
+- Small method name change
+- Removing unused imports
+- Adding support for LDAP Realm authentication policy
+- Adding support for LDAP Realm authentication policy
+- Fixes for TUSCANY-2914
+- Fixes for TUSCANY-2922
+- Fixes for TUSCANY-2922
+- TUSCANY-2923 Stest code ASM_0024 - ASM_0043
+- TUSCANY-2926 Stest code invalid ignore tag
+- Use the JavaEE extensions to compute SCA services, SCA references and SCA properties from EJB3 business interfaces, Remote EJB3 references and EnvEntries.
+- TUSCANY-2932 Throw org.apache.tuscany.sca.data.collection.NotFoundException on 404 errors if AtomReferenceBindingProvider.supportsFeedEntries() is false
+- TUSCANY-2931 - Start of test for different in request and response wire formats. Infrastructure not working properly just yet.
+- Do not throw exception if the jar is not an EJB jar.
+- TUSCANY-2932 Correctly handle NotFoundException as a 404 in AtomBindingListenerServlet
+- Adding module to the build.
+- TUSCANY-2935 Integration tests for Java EE contribution processing
+- TUSCANY-2933 - Runtime changes to properly define widget functions in it's own namespace
+- TUSCANY-2933 - Updating photo-gallery sample to use widget Java Script fuctions in the new tuscany.sca namespace
+- TUSCANY-2933 - Updating store sample to use widget Java Script fuctions in the new tuscany.sca namespace
+- TUSCANY-2933 - Updating store samples to use widget Java Script fuctions in the new tuscany.sca namespace
+- TUSCANY-2933 - Updating domain manager ui to use widget Java Script fuctions in the new tuscany.sca namespace
+- TUSCANY-2933 - Updating store tutorial to use widget Java Script fuctions in the new tuscany.sca namespace
+- TUSCANY-2933 - Updating widget test html to use widget Java Script fuctions in the new tuscany.sca namespace
+- Store scenario using widget packaged as a webapp
+- Adding store-webapp to build
+- TUSCANY-2838 - Updating implementation widget to properly register component java script in a webapp environment
+- TUSCANY-2838 - Missing files required by implementation widget to properly register component java script in a webapp environment
+- Update scadomain to support passing in the default port in the domain uri
+- TUSCANY-2936 Extension point API for Java EE
+- Commenting out since an issue in openejb is resulting in problems with WAR processing.
+- Set some svn ignores
+- TUSCANY-2936 Extension point API for Java EE
+- Minor formatting
+- Adding provided binding URI to avoid issues when service is deployed in a webapp environment
+- Minor formatting and removing unused imports
+- Adding test case to test atom feed reference using generic collection interface
+- Move JAAS service policy provider from binding wire to the operation wire
+- add some ignores
+- add some ignores
+- Set svn ignores
+- TUSCANY-2918, Update jms support so that the service listener can be pluggable via host-jms
+- Move fault type introspection to the the fault mapper
+- Fixes for TUSCANY-2906
+- Fixes for TUSCANY-2941
+- Don't fall over if there is no introspector, e.g. if contribution-jee-impl is not loaded
+- TUSCANY-2931 - allow separate request and response wire formats in binding.jms. The tuscany binding.jms XSD has been extended to allow a response wireFormat element to be specified. The knock on effect of all this is that the Operation interface has been changed to allow input and output wrapper info to be held separately. Also Interface has some new operations. There are changes across the code base to take account of this interface change.
+- Add a namespace to the missing component type composite
+- Remove these files as they are no longer required. Replaced by RRB... versions.
+- Example of how we could describe what exceptions are expected in stests
+- Take testcase out of build as its now broken, see TUSCANY-2942
+- Add jira number
+- Take testcase out of build as its broken, see TUSCANY-2943
+- Take store-test out of build as its broken, see TUSCANY-2944
+- Remove old "getWireFormatInterfaceContract" operation
+- Take fialing tests out of build, see TUSCANY-2945
+- TUSCANY-2934 - wire up the wire format writers
+- TUSCANY-2937 - Renaming FeedAggregatorTestCase and adding @Ignore on failing tests as described in jira
+- TUSCANY-2837 - Adding Javascript extension points to be used by implementtion.widget and any web related extensions that have Javascript proxy dependencies
+- TUSCANY-2837 - Updates to start using Javascript extension points to generate js client proxies
+- TUSCANY-2837 - Atom Binding Javascript extension point implementation
+- TUSCANY-2837 - JSONRPC Binding Javascript extension point implementation
+- TUSCANY-2837 - Updating sample app dependencies to add javascript dependencies for atom and jsonrpc bindings
+- TUSCANY-2837 - Adding new modules to build
+- TUSCANY-2837 - Adding javadoc comments to JavascriptProxyFactory
+- TUSCANY-2837 - Extending Javascript extension to provide the js proxy client file
+- Removing duplicated file that is already available in main/resources
+- TUSCANY-2837 - Adding new js dependencies
+- TUSCANY-2837 - Adding new js dependencies
+- TUSCANY-2946, take failing test out of build
+- TUSCANY-2947, take itest out of build as its failing
+- TUSCANY-2948, take jms-format test out of build for now
+- TUSCANY-2944 don't raise NPE if the component type model cannot be determined
+- TUSCANY-2950 enclose etags in speech marks
+- TUSCANY-2937 uncomment ignored tests as underlying etag issue is fixed under TUSCANY-2950.
+- Workaround the jaxws-api maven issue (merged from 2.x)
+- TUSCANY-2944 - Enable tests as recent changes from slaws in revision #759149 fixes the problems we were seeing.
+- TUSCANY-2931 - update operation matching to be based on operation name. Add a complex type based interface back into to the test case.
+- Process SCA Property and Reference annotations.
+- TUSCANY-2935 Integration tests for Java EE contribution processing
+- Reversing the changes committed accidentally in the last commit.
+- Put back the TUSCANY-2946 failing test into the build to see if anyone else gets it
+- Fixes for TUSCANY-2945, 2947, 2948
+- Fixes for TUSCANY-2945, 2947, 2948
+- Fixes for TUSCANY-2945, 2947, 2948
+- Added the missing JSP spec dependency.
+- Set svn:ignore
+- Set svn:ignore
+- Make sure SCA domain is closed
+- Move the componentType files into the resource folder so that maven copy them into the target/classes
+- Removing obsolet place holder module
+- Removing eclipse/maven generated files
+- TUSCANY-2878 - New extensions to generate javascript proxies when using dojo
+- TUSCANY-2878 - Module responsible to add register dojo toolkit in web environment under '/dojo'. This is usefull in embedded environment
+- TUSCANY-2878 - JavaScript Generator extension point. Used by implementation.widget to allow multiple implementations of js generator (e.g. tuscany specific and dojo based)
+- TUSCANY-2878 - Changes to support new JavaScript Generator extension point and new generators for tuscany specific scripts and dojo toolkit
+- TUSCANY-2878 - New store sample app using dojo version of implementation widget
+- TUSCANY-2878 - Adding new modules and sample apps to build
+- TUSCANY-2878 - Removing obsolete file
+- TUSCANY-2878 - Adjusting modules to add implementation-widget-runtime-tuscany as dependency
+- TUSCANY-2878 - Adjusting modules to add implementation-widget-runtime-tuscany as dependency
+- TUSCANY-2878 - Moving tests to implementation-widget-runtime-tuscany and minor pom adjusts
+- TUSCANY-2955 SCA annotation processing for impl.web, impl.ejb, impl.jee
+- Moving Erlang binding to 1.x branch
+- TUSCANY-2935 Integration tests for Java EE contribution processing
+- TUSCANY-2878 - Missed module activator files from last committs
+- TUSCANY-2878 - Renaming resource bundle used by monitor to match name expected in code
+- svn propset svn:ignore
+- svn propset svn:ignore
+- svn propset svn:ignore
+- TUSCANY-2878 - Missed dojo javascript generator from last commit
+- TUSCANY-2878 - Missed dojo javascript extension poing to atom binding
+- TUSCANY-2878 - Missed dojo javascript extension poing to jsonrpc binding
+- TUSCANY-2956 Java EE Archive introspection
+- TUSCANY-2878 - Removing unnecessary .Service from generated dojo jsonrpc javascript proxy
+- TUSCANY-2878 - Moving dojo.requires to before store.js and fixing invocation of services to follow dojo pattern
+- TUSCANY-2878 - Moving dojo resources to it's own folder to avoid issues with clean target that was removing other non-dojo resources.
+- TUSCANY-2956 Java EE Archive introspection
+- TUSCANY-2935 Integration tests for Java EE contribution processing
+- TUSCANY-2935 Integration tests for Java EE contribution processing
+- Added configurable thread pools, fixed problem with ReferenceServiceTestCase.testMultipleMethod() test case, added writing to binding processor - problems with testing
+- TUSCANY-2935 Integration tests for Java EE contribution processing
+- Minor typo on method declaration
+- Renaming core-web-xxx modules to web-javascript-xxx modules
+- Refactoring javascript extension points packages to follow the same naming pattern used by it's modules.
+- Fix minor copy error in input vs. output var name
+- Set svn:ignore and update the module names
+- Make the openejb version consistent and fix the NPE &amp; UnsupportedModuleType
+- Comment out the test case due to TUSCANY-2957
+- Make sure the outputWrapperStyle is set
+- TUSCANY-2952, fix jms listener to work in weblogic 10.x
+- Copy zip/folder nested jar support change from 2.x to 1.x
+- Added a configuration to work around http://jira.codehaus.org/browse/MECLIPSE-544
+- TUSCANY-2862 - Fixing issues when calculating contribution location and provided composite had spaces
+- TUSCANY-2862 - Fixing URI issues when processing jar contributions that had artifacts with space on it's name
+- TUSCANY-2862 - Further changes to handled folder contributions that have artifacts with space in the name
+- Fix TUSCANY-2957
+- Add remotable check to avoid perf penality from Holder processing for local calls
+- TUSCANY-2938 - Fixing how we calculate request path based on contextPath and ServletPath to make operations working in both embedded and webapp hosted environment
+- TUSCANY-2871 - Providing better exception when feed entry is not supported
+- Refacroting testcase to use same package pattern for the module
+- Removing empty directory
+- Removing empty directory
+- TUSCANY-2958 JEEImplementationImpl, WebImplementationImpl and EJBImplementationImpl need to implement PolicySetAttachPoint
+- General improvements for messaging, fixed some issues regarding communication with real Erlang nodes
+- Change to use port 8085 as 8081 has a conflict on the continuum server
+- Change JMS server port to try to avoid conflict on continuum server
+- Add a println of the problem to see what it says when running on the continuum machine as the test is assing for me
+- Exclude the module that has conflicting classes with the JDK
+- Separate the contribution JEE sample scenarios from the contribution JEE itests so we can see the source for the samples and more easily mix and match to construct the various combinations required. Add a new test relating to a single sample scenario to explore the problem with classloading where the JEE archive classloader is not available during contribution resolution.
+- Set a bunch of svn ignores
+- Messaging improvements
+- TUSCANY-2851, start of an itest for exceptions in Java component initilization
+- Add more complete test for the various lifecycle exceptions
+- TUSCANY-2851, fix exceptions during init processing of java components to call destroy
+- Use explicit version to fix continuum build
+- Use explicit verison to fix continuum build
+- Change to port 8085 to avoid conflict on continuum build
+- Change some jms ports to try to fix continuum build conflicts
+- Change some jms ports to try to fix continuum build conflicts
+- Comment out tests which don't work on continuum build machine
+- TUSCANY-2972 - Sample code for fixing up classloaders for JEE archives. No where near done yet but allows us to experiment and explore the problems.
+- Added support for Erlang Atoms
+- Try another port for the continuum machine build
+- Comment out the http service as its not used by the test an seems to ause a problem in continuum
+- Bump up 1.x trunk version to 1.6-SNAPSHOT
+- General improvements
+- TUSCANY-2976: Apply patch from Greg Dritschler to Remove default 'ConnectionFactory' in JMSBinding model
+- TUSCANY-2972 instigate contribution type specific class loading to allow the JEE classloader to be used independently of jar, zip, dir classloading schemes
+- Start adding some more JEE samples. No guarantee that these actually work yet as I haven't run them in a JEE runtime but a place to start.
+- Start of a testcase which show implemntation.jee pointing at an ear is processed correctly
+- Add test dependency
+- It should be EAR instead of EJB.
+- Type should be WAR instead of EAR.
+- Set the EJB classloader in EJBModuleInfo.
+- Move testcase to an itest
+- New itest for jee external ear's
+- Set svn ignores
+- Update to introspect external ear archives
+- Rename testcase as it works now (as long as you've the NPE fixed openejb jar)
+- Add exclusion to avoid the conflicting jdk classes from felix
+- Add "Extensible" support for the ContributionMetaData/Contribution/Import/Export models (TUSCANY-2983)
+- TUSCANY-2968 - Creating a new http binding based on current tuscany one
+- Removing unecessary @Ignore
+- TUSCANY-2968 - Adding new binding processor and making necessary adjustment to move to spec namespace
+- Adding gdata dependencies to LICENSE file (copied from 1.4 release)
+- Updating pom version to reflect changes made in trunk in preparation for release
+- TUSCANY-2968 - Adding module to handle json-rpc wireformat and initial support for it
+- Add an external ear modelresolver approach to the jee itest
+- Improve the handling of INOUT and OUT parameters using JAX-WS Holder
+- Remove bundle module from the pom.xml as it's now moved
+- Put back distribution/bundle that was inadvertently removed in r766999
+- Put back distribution\bundle into the build
+- TUSCANY-2930 main part of separating wireFormat.jmsdefault out from wireFormat.jmsTextXML. I've spotted a few more things that need fixing but this basic functionality passes all of our current JMS tests and now better matched what the specification says about default format.
+- TUSCANY-2930 extend default format test for the chase where default is specified on reference but not on the service
+- Move the JAX-WS holder testing logic to interface-java-jaxws
+- TUSCANY-2986 - move the callback processing into a separate interceptor to allow other operation selectors to use it. Don't have any others just yet but about to add another one.
+- TUSCANY-2987 code to make nativeOperation based operation selection work and add new operation selector (jmsUser) that allows you to specify what JMS message property holds the operation name. No test cases yet.
+- TUSCANY-2977 determine implementation.jee component type from application composite if one is available
+- o Updated artifactId to the correct (long) one.
+- TUSCANY-2987, TUSCANY-2964. Rename operation selector that allows the user to specify which message property holds the operation name. Add tests cases for this and the default selector. Rename default selector to be all lowers case (it's still in the Tuscany namespace though)
+- TUSCANY-2965 - add a jmsBytesXML wireFormat analogous to jmsTextXML
+- TUSCANY-2966 - reset bytes message after read in operation selector so that following wire format can re-read bytes if required.
+- Update the tuscany part of the JMS binding schema to take account of recent wireFormat and opertionSelector changes. These schema type are not wired into the binding.jms schema at the moment (we rely on anys) but it's useful to keep track of the shape of these elements.
+- Add some ignores
+- TUSCANY-2626 - add EndpointReference back into the binding.ws schema. This is not the wsa:EnpointReference though. To get this to work I have had EndpointReference goes in the target namespace. The code to read EndpointReference still reads wsa:EndpointReference so this shouldn't break anyone already using that but at least it gives the reader an idea about what can validly go in the schema.
+- Fix the ArrayOutofBoundException that causes the hang of itest/helloworld-bpel
+- set svn:ignore
+- Make sure the default mode is set to INOUT if the type is Holder.class
+- TUSCANY-2626 add file missed in previous commit for this JIRA
+- The war file generated by the jee sample project has a long name. Updating the url accordingly.
+- Code update to support external EAR has broken this test. Ignoring the test for now.
+- TUSCANY-2953 Fix sca.tld in branches-1.x
+- Uncommenting contribution-jee itest.
+- TUSCANY-2997 - Removing unecessary load of dojo base component
+- TUSCANY-2998 - Fixing sample usage of dojo based JavaScript proxies to avoid issues when invoking shopingCart service (e.g loading shoopingCart contents)
+- TUSCANY-2999 - Fixing property initialization in implementation widget
+- TUSCANY-2968 - Adding model and processors for JSONRPC Operation Selector
+- TUSCANY-2968 - Starting to bring up JSON RPC runtime pieces as wire format for binding.http
+- Add an itest for setting the JMS Time-To-Live header
+- Remove unused xsds
+- Add exclusion to avoid the conflicting jdk classes from felix
+- Make sure the checked exception is tested against the target operation
+- MOving data-engine-helper to contrib
+- Removing data-engine-helper from pom as it was moved to contrib
+- Fix for TUSCANY-3000
+- Add a apace for the error message
+- Fix the clone()
+- TUSCANY-2996 - Add support for wrapSingle attribute that, when set true, ensures that single parameters are wrapped in an array on the wire. When set false single parameters will not be wrapped on the wire. Multiple parameters will always be wrapped.
+- Add ignore
+- TUSCANY-2965 - add fault handling code for wireFormat.bytesXML
+- TUSCANY-2993 Fix global variable handling that was causing store-dojo to fail with internet explorer
+- Move the Holder logic into JAXWS interface processor
+- Start to add contribution level SDO type registration
+- Set svn:ignore
+- Add annotation dependency as the provided scope is not transitive
+- Update to cargo plugin 1.0
+- Refactor the data transformation and copy logic into Mediator utility
+- Add jee contribution samples to the build as the contribution-jee itest depends on it
+- TUSCANY-3002: fix writeStartElement calls in JMSBindingProcessor do not pass namespace
+- Clean up imports
+- TUSCANY-3006 - Disabling failing test cases
+- TUSCANY-2968 - Updating binding-http schema and moving wireFormat and operationSelector to tuscany-sca-core.xsd to be sharable
+- TUSCANY-2968 - Changing binding to tuscany namespace and other small updates
+- TUSCANY-2968 - Renaming new binding.http module to avoid confusion with the oasis draft, as we are not really implementing the whole spec but just following the wireFormat and operationSelector options implemented in binding.jms
+- Double the time the test waits for the time to live to be set into the initial context as it's failing on my machine with the existing timeout.
+- TUSCANY-2978 - Add some more sample archives based on the scenarios here http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Java+EE+Integration
+- TUSCANY-2978 - Add test code to exercise new JEE sample archives including code to show how to process an archive that appears outside of the contribution that references it. See TestExternalEarModelResolver.java. Some jee processing changes were required to make this work.
+- TUSCANY-3008 disable reference test in testContributeEAR_Enhanced16 until this problem is fixed
+- Remove the unused mediator lookup
+- TUSCANY-2968 - JSONRPC operation selector
+- TUSCANY-2968 - Moving unit tests to iTest to avoid circular references
+- TUSCANY-2968 - Further changes trying to add the json-rpc wireformat and operation selector interceptors to the invocation chain
+- TUSCANY-2968 - Minor update to make serice providers follow the same implementation pattern
+- Set context for mediateFault as well.
+- Fixing NPE when no operation provided when creating invoker
+- TUSCANY-2968 - Discovering and adding wire format and operation selector interceptors via extension point, but inside binding provider
+- TUSCANY-2968 - JSONRPC invocation using operation selector and wire formats working end to end
+- TUSCANY-2968 - Enabling test that invoke remote jsonrpc services using the new operation selector/wire format implementation
+- TUSCANY-2968 - Adding databinding dependencies to integration tests
+- TUSCANY-2968 - Setting JSON dataBinding on service interface contract
+- TUSCANY-2968 - Enabling more tests that are currently passing
+- Add host-jetty dependency as binging-http needs are servlet host. For some reason this test works OK in Eclipse but doesn't work in Maven. So eclipse is picking up the jetty dependency from somewhere else. Ass some ignores also.
+- Tidy comment
+- TUSCANY-3005 - Take account of the case where there are either no input parameters or a void return type (or both). Thanks for the patch Kaushik.
+- TUSCANY-2968 - Fixing data binding related issues to properly transform to/from json format as needed
+- USCANY-2968 - Enabling more tests that are currently passing
+- TUSCANY-2968 - Fixing exception handling issues to properly report exceptions as json error responses
+- USCANY-2968 - Enabling more tests that are currently passing
+- Small clean up and formatting on tests
+- TUSCANY-2968 - Fixing NPE with pure http binding
+- Removing unwanted files, got in accidentaly
+- Renaming Spring modules as old
+- Refactoring Spring module
+- moving spring-runtime to spring-sca
+- Refactoring Spring Module
+- Changing Spring Dependencies
+- Refactoring Spring Module
+- Refactoring Spring Module
+- TUSCANY-2959 - Store-android patch from Sanni Lookman
+- Adding missing Apache headers to store-android
+- Restoring catalog activity as backup/reference
+- TUSCANY-2900 - Add code to generate JMS binding and service/port to generated wsdl. Add itest to explore the different ways of configuring generated WSDL.
+- TUSCANY-3011 correct JMS binding XSD to make OperationalProperties/Headers optional as per the OSOA spec
+- Performance enhancement to avoid processing the deployable composite twice when starting a node
+- Add a new soap/jms transport module copied from the Apache WS Commons transports but with the code backported to work with Axis2 1.4.1
+- Merging changes from binding-http-new that introduces support to wire format and operation selector to the main binding-http.
+- Fix for TUSCANY-2962
+- Leverage optimization from the Axiom 1.2.7
+- Remove unused classes
+- Merging HTTPBindingProcessor from binding-http-new that introduces support to wire format and operation selector to the main binding-http.
+- Renaming binding-http-new-jsonrpc* to binding-http-jsonrpc*
+- Adjusting pom with recent module name refactoring/changes
+- Removing obsolete modules that have been merged or renamed.
+- Fix for TUSCANY-3017
+- Abandon trying to use the new Axis2 JMS transport for now as its proving too messy tryingto backport it to the 1.4.1 release. Now trying a new approach which modifies the JMS transport from Axis2 1.4.1
+- Start bringing up Tuscany version of JMS transport so the setMessageListener not allowed in a JEE container can be fixed
+- Add support for using Tuscany threads instead on setMessageListener in a JEE container environment
+- Fix NPE bug in TUSCANY-2962 fix
+- TUSCANY-2967 Fix up just jmsBytes wire format to return exceptions as bytes to see if this is what we want
+- TUSCANY-3031 Ensure that JMS wire formats that don't required a data transformation work when interface.wsdl is used. Use the component type interface rather than the service
+- A tool to save to disc the WSDL for each service, with binding.ws, within all of the deployable composites in a specified contribution
+- Exclude work session.ser from build
+- Add missing license headers
+- Add missing license headers
+- Rename tests and add license header
+- Add missing license header
+- Add missing license header
+- Exclude cruft from bin distro
+- Excelude multiple sca bindings from bundle build
+- Exclude bouncycastle
+- Update legal files
+- Remove provided csope from spring dependencies
+- Add spring runtime module
+- Mereg bouncy castle excludes from 1.5 to 1.x
+- Exclude dojo files
+- TUSCANY-3030 if the fault exception mapper is null try getting it from the registry before returning the fault unmapped. This takes care of the case there the mapper is null just because the JavaRuntimeModuleActivator is started before the DatabindingModuleActivator
+- TUSCANY-3032 - fix binding.ejb schema so that ejb-link-name is a string not an NCName
+- Correct typo in exclude
+- TUSCANY-3025 - Appying Sanni Lookman patch plus small fixes to make it run successfully
+- TUSCANY-2967 - to aid investigation of possible exception processing refactoring enhance format tests to test checked and unchecked exceptions. Also add a wf.jmsText test.
+- Do BytesMessage.reset() on BytesMP, DefaultMP to be consistent across wire formats.
+- Apply patch for TUSCANY-3033 from Pradeep. Thanks.
+- Removing obsolete FIXME tags, as exceptions are handled ok on wireFormat interceptor already
+- Reporting fault message with exception in json representation, when jsonrpc operation selector interceptor can't parse json request
+- Updating java doc for HTTP JSON-RPC wireformat/operation selector extensions
+- Properly handle SMD requests in JSON-RPC wire format/operation selector
+- Reverting changes as this would make sample stop working due to TUSCANY-3042
+- Add jms host to bundle to fix running jms samples
+
Changes With Apache Tuscany SCA 1.4 December 2008
==================================================
diff --git a/branches/sca-java-1.x/distribution/src/main/release/README b/branches/sca-java-1.x/distribution/src/main/release/README
index 6a6050294b..7af6a896cf 100644
--- a/branches/sca-java-1.x/distribution/src/main/release/README
+++ b/branches/sca-java-1.x/distribution/src/main/release/README
@@ -1,7 +1,7 @@
-Apache Tuscany SCA 1.4 December 2008 README
-=====================================================
+Apache Tuscany SCA 1.6 October 2009 README
+=============================================
-Welcome to the Tuscany SCA 1.4 release.
+Welcome to the Tuscany SCA 1.6 release.
See the RELEASE_NOTES file for information specific to this release.
diff --git a/branches/sca-java-1.x/distribution/src/main/release/RELEASE_NOTES b/branches/sca-java-1.x/distribution/src/main/release/RELEASE_NOTES
index ba2754c9c2..99c08723bc 100644
--- a/branches/sca-java-1.x/distribution/src/main/release/RELEASE_NOTES
+++ b/branches/sca-java-1.x/distribution/src/main/release/RELEASE_NOTES
@@ -1,5 +1,5 @@
-Apache Tuscany SCA 1.4 December 2008 Release Notes
-============================================================
+Apache Tuscany SCA 1.6 October 2009 Release Notes
+=====================================================
Apache Tuscany provides a runtime based on the Service Component
Architecture. SCA is a set of specifications aimed at simplifying SOA
@@ -9,7 +9,7 @@ of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.or
Overview
--------
- The Apache Tuscany SCA 1.4 release includes implementations of the
+ The Apache Tuscany SCA 1.6 release includes implementations of the
main SCA specifications including:
SCA Assembly Model V1.0
diff --git a/branches/sca-java-1.x/distribution/src/main/release/bin/INSTALL b/branches/sca-java-1.x/distribution/src/main/release/bin/INSTALL
index a587ad802f..1e7c10758a 100644
--- a/branches/sca-java-1.x/distribution/src/main/release/bin/INSTALL
+++ b/branches/sca-java-1.x/distribution/src/main/release/bin/INSTALL
@@ -1,9 +1,9 @@
-Installing the Apache Tuscany SCA 1.4 December 2008 Release binary distribution
-=========================================================================================
+Installing the Apache Tuscany SCA 1.6 October 2009 Release binary distribution
+==================================================================================
Unzip Tuscany binary distribution archive and you get the following:
-tuscany-sca-1.4
+tuscany-sca-1.6
INSTALL - this help file
LICENSE - the Apache License and any dependecy licenses
NOTICE - attribution notices associated with the licenses
diff --git a/branches/sca-java-1.x/distribution/src/main/release/bin/LICENSE b/branches/sca-java-1.x/distribution/src/main/release/bin/LICENSE
index a17e50fa54..b9384c5e81 100644
--- a/branches/sca-java-1.x/distribution/src/main/release/bin/LICENSE
+++ b/branches/sca-java-1.x/distribution/src/main/release/bin/LICENSE
@@ -323,8 +323,6 @@ The following components come under Apache Software License 2.0
spring-context-2.5.5.jar
spring-core-2.5.5.jar
tranql-connector-1.1.jar
- tuscany-sca-all-1.4.jar
- tuscany-sca-manifest.jar
tuscany-sdo-api-r2.1-1.1.1.jar
tuscany-sdo-impl-1.1.1.jar
tuscany-sdo-lib-1.1.1.jar
@@ -2161,7 +2159,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================================================
-The module tuscany-implementation-script-1.4.jar temporarily includes
+The module tuscany-implementation-script-1.6.jar temporarily includes
one file under the below BSD license with the following copyright:
Copyright (c) 2006, Sun Microsystems, Inc.
diff --git a/branches/sca-java-1.x/distribution/src/main/release/src/BUILDING b/branches/sca-java-1.x/distribution/src/main/release/src/BUILDING
index 53bca7807c..03619ac31e 100644
--- a/branches/sca-java-1.x/distribution/src/main/release/src/BUILDING
+++ b/branches/sca-java-1.x/distribution/src/main/release/src/BUILDING
@@ -1,5 +1,5 @@
-Building the Apache Tuscany SCA 1.4 December 2008 Release source distribution
-=======================================================================================
+Building the Apache Tuscany SCA 1.6 October 2009 Release source distribution
+================================================================================
Initial Setup
-------------
diff --git a/branches/sca-java-1.x/itest/atom/pom.xml b/branches/sca-java-1.x/itest/atom/pom.xml
index 3047c3d208..44e6d8dc30 100644
--- a/branches/sca-java-1.x/itest/atom/pom.xml
+++ b/branches/sca-java-1.x/itest/atom/pom.xml
@@ -23,7 +23,7 @@
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-itest</artifactId>
<version>1.6-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
+ <relativePath>../pom.xml</relativePath>
</parent>
<artifactId>itest-atom</artifactId>
<name>Apache Tuscany SCA iTest Atom Binding</name>
@@ -150,7 +150,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
- <version>1.9</version>
+ <version>1.12</version>
<!-- Explicitly add the transitive dependencies for jaxws-api
http://jira.codehaus.org/browse/MEV-498
-->
diff --git a/branches/sca-java-1.x/itest/atom/src/test/java/test/abdera/NewsServiceTestCase.java b/branches/sca-java-1.x/itest/atom/src/test/java/test/abdera/NewsServiceTestCase.java
index 9e1b9bdcec..b9f2b4e2fc 100644
--- a/branches/sca-java-1.x/itest/atom/src/test/java/test/abdera/NewsServiceTestCase.java
+++ b/branches/sca-java-1.x/itest/atom/src/test/java/test/abdera/NewsServiceTestCase.java
@@ -19,7 +19,6 @@
package test.abdera;
import java.net.Socket;
-import java.util.List;
import org.apache.tuscany.sca.host.embedded.SCADomain;
import org.junit.AfterClass;
diff --git a/branches/sca-java-1.x/itest/corba/pom.xml b/branches/sca-java-1.x/itest/corba/pom.xml
index bdb17e791a..6079e77a2d 100644
--- a/branches/sca-java-1.x/itest/corba/pom.xml
+++ b/branches/sca-java-1.x/itest/corba/pom.xml
@@ -106,7 +106,6 @@
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-databinding-sdo</artifactId>
<version>1.6-SNAPSHOT</version>
- <scope>compile</scope>
</dependency>
<dependency>
diff --git a/branches/sca-java-1.x/itest/distro-license-check/src/test/java/itest/LicenseTestCase.java b/branches/sca-java-1.x/itest/distro-license-check/src/test/java/itest/LicenseTestCase.java
index 3d2b89f213..5b74c5584e 100644
--- a/branches/sca-java-1.x/itest/distro-license-check/src/test/java/itest/LicenseTestCase.java
+++ b/branches/sca-java-1.x/itest/distro-license-check/src/test/java/itest/LicenseTestCase.java
@@ -20,7 +20,6 @@ package itest;
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -42,14 +41,7 @@ public class LicenseTestCase extends TestCase {
public void testCreateComponent() throws ZipException, IOException {
File archive = new File("..\\..\\distribution\\target\\apache-tuscany-sca-1.6-SNAPSHOT.zip");
- ZipFile zf = null;
-
- try {
- zf = new ZipFile(archive);
- } catch (FileNotFoundException e) {
- return; // archive has not been built yet
- }
-
+ ZipFile zf = new ZipFile(archive);
try {
String licenstText = getLicenseText(zf);
diff --git a/branches/sca-java-1.x/itest/domainmgr/error/pom.xml b/branches/sca-java-1.x/itest/domainmgr/error/pom.xml
index 37573c2156..5ff39c4289 100644
--- a/branches/sca-java-1.x/itest/domainmgr/error/pom.xml
+++ b/branches/sca-java-1.x/itest/domainmgr/error/pom.xml
@@ -28,18 +28,6 @@
<artifactId>itest-domainmgr-error</artifactId>
<name>Apache Tuscany SCA iTest Domain Manager Error Handling</name>
- <repositories>
- <repository>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <id>java.net</id>
- <name>java.net Maven 2.x Repository</name>
- <url>http://download.java.net/maven/2</url>
- <layout>legacy</layout>
- </repository>
- </repositories>
-
<packaging>pom</packaging>
<build>
<defaultGoal>install</defaultGoal>
diff --git a/branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/PropertiesTestCase.java b/branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/PropertiesTestCase.java
index f4ba59e61b..e38f9104c0 100644
--- a/branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/PropertiesTestCase.java
+++ b/branches/sca-java-1.x/itest/jms/src/test/java/org/apache/tuscany/sca/binding/jms/PropertiesTestCase.java
@@ -45,10 +45,10 @@ public class PropertiesTestCase {
client.aClientMethod();
- // wait for up to 5 seconds but should wake up as soon as done
+ // wait for up to 10 seconds but should wake up as soon as done
synchronized(MsgServiceImpl.lock) {
if (MsgServiceImpl.msg == null) {
- MsgServiceImpl.lock.wait(5000);
+ MsgServiceImpl.lock.wait(10000);
}
}
assertNotNull(MsgServiceImpl.msg);
@@ -66,10 +66,10 @@ public class PropertiesTestCase {
client.op2();
- // wait for up to 5 seconds but should wake up as soon as done
+ // wait for up to 10 seconds but should wake up as soon as done
synchronized(MsgServiceImpl.lock) {
if (MsgServiceImpl.msg == null) {
- MsgServiceImpl.lock.wait(6000);
+ MsgServiceImpl.lock.wait(10000);
}
}
assertNotNull(MsgServiceImpl.msg);
diff --git a/branches/sca-java-1.x/itest/policy-security-basicauth/pom.xml b/branches/sca-java-1.x/itest/policy-security-basicauth/pom.xml
index c78a7e47d8..5bedabfb5b 100644
--- a/branches/sca-java-1.x/itest/policy-security-basicauth/pom.xml
+++ b/branches/sca-java-1.x/itest/policy-security-basicauth/pom.xml
@@ -100,6 +100,7 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
+ <scope>test</scope>
</dependency>
<dependency>
@@ -108,5 +109,6 @@
<version>1.6.1</version>
<scope>test</scope>
</dependency>
+
</dependencies>
</project>
diff --git a/branches/sca-java-1.x/itest/policy-security-basicauth/src/main/resources/definitions.xml b/branches/sca-java-1.x/itest/policy-security-basicauth/src/main/resources/definitions.xml
index 455ca2f917..dbdf0cd263 100644
--- a/branches/sca-java-1.x/itest/policy-security-basicauth/src/main/resources/definitions.xml
+++ b/branches/sca-java-1.x/itest/policy-security-basicauth/src/main/resources/definitions.xml
@@ -31,10 +31,6 @@
<tuscany:userName>myname</tuscany:userName>
<tuscany:password>mypassword</tuscany:password>
</tuscany:basicAuthentication>
- <tuscany:basicAuthentication>
- <tuscany:userName>myname1</tuscany:userName>
- <tuscany:password>mypassword1</tuscany:password>
- </tuscany:basicAuthentication>
</sca:policySet>
<sca:policySet name="ImplementationIdentityPolicySet"
diff --git a/branches/sca-java-1.x/itest/pom.xml b/branches/sca-java-1.x/itest/pom.xml
index b97ae53ffc..14312bfade 100644
--- a/branches/sca-java-1.x/itest/pom.xml
+++ b/branches/sca-java-1.x/itest/pom.xml
@@ -79,8 +79,7 @@
<!--
<module>contribution-classloader</module>
-->
- <module>contribution-jee-samples</module>
- <!--TUSCANY-3165
+ <!-- TUSCANY-3165 - waiting for OpenEJB 3.0.2 release
<module>contribution-jee</module>
-->
<module>contribution-jee-samples</module>
@@ -88,7 +87,6 @@
<module>corba</module>
<module>conversations-ws</module>
<module>databindings</module>
- <module>distro-license-check</module>
<!--module>domain</module-->
<module>domainmgr</module>
<module>exceptions</module>
@@ -115,7 +113,6 @@
<module>jms-nulls</module>
<module>jms-selectors</module>
<module>jms-ttl</module>
- <module>large-sdo-ws</module>
<module>late-reference-resolution</module>
<module>oneway</module>
<module>operation-overloading</module>
@@ -216,7 +213,6 @@
<module>interfaces</module>
<module>wires</module>
<module>scopes</module>
- <module>large-sdo-ws</module>
</modules>
diff --git a/branches/sca-java-1.x/itest/workspace-manager/src/main/java/org/apache/tuscany/sca/artifact/xyz/XYZProcessor.java b/branches/sca-java-1.x/itest/workspace-manager/src/main/java/org/apache/tuscany/sca/artifact/xyz/XYZProcessor.java
index 19d62685b9..a0c7c899ec 100644
--- a/branches/sca-java-1.x/itest/workspace-manager/src/main/java/org/apache/tuscany/sca/artifact/xyz/XYZProcessor.java
+++ b/branches/sca-java-1.x/itest/workspace-manager/src/main/java/org/apache/tuscany/sca/artifact/xyz/XYZProcessor.java
@@ -34,8 +34,6 @@ 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.monitor.impl.ProblemImpl;
-import org.apache.tuscany.sca.xsd.XSDFactory;
-import org.apache.tuscany.sca.xsd.XSDefinition;
/**
* An ArtifactProcessor for XYZ documents.
@@ -44,12 +42,10 @@ import org.apache.tuscany.sca.xsd.XSDefinition;
*/
public class XYZProcessor implements URLArtifactProcessor<XYZ> {
- private XSDFactory factory;
private XMLInputFactory inputFactory;
private Monitor monitor;
public XYZProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
- this.factory = modelFactories.getFactory(XSDFactory.class);
this.inputFactory = modelFactories.getFactory(XMLInputFactory.class);
this.monitor = monitor;
}
diff --git a/branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworld.wsdl b/branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworld.wsdl
index 1aa32179e6..90eeae3c8a 100644
--- a/branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworld.wsdl
+++ b/branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworld.wsdl
@@ -26,7 +26,7 @@
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="helloworld">
- <wsdl:import namespace="http://helloworld3" location="../../helloworld-import.wsdl"/>
+ <wsdl:import namespace="http://helloworld3" location="../../helloworld-import.wsdl" />
<wsdl:binding name="HelloWorldSoapBinding" type="tns3:HelloWorld">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
diff --git a/branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworldws.composite b/branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworldws.composite
index ff25a32e6a..1af51162ac 100644
--- a/branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworldws.composite
+++ b/branches/sca-java-1.x/itest/wsdl/src/main/resources/imports/wsdl/helloworldws.composite
@@ -24,7 +24,6 @@
<component name="HelloWorldServiceComponent">
<service name="HelloWorldService">
- <!--<interface.wsdl interface="http://helloworld3#wsdl.interface(HelloWorld)" />-->
<interface.java interface="helloworld.HelloWorldService"/>
<binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" />
</service>
diff --git a/branches/sca-java-1.x/itest/wsdlgen/pom.xml b/branches/sca-java-1.x/itest/wsdlgen/pom.xml
index 0a2a280e62..cf06761947 100644
--- a/branches/sca-java-1.x/itest/wsdlgen/pom.xml
+++ b/branches/sca-java-1.x/itest/wsdlgen/pom.xml
@@ -107,7 +107,6 @@
</configuration>
</plugin>
</plugins>
-
</build>
</project>
diff --git a/branches/sca-java-1.x/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties b/branches/sca-java-1.x/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties
index f0d5b0a201..6fd524716c 100644
--- a/branches/sca-java-1.x/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties
+++ b/branches/sca-java-1.x/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties
@@ -25,7 +25,6 @@ UnexpectedImplementationElement = Unexpected <implementation> element found. It
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}
-ContributionResolveException = ContributionResolveException occured due to : {0}
ContributionWriteException = ContributionWriteException occured due to : {0}
XMLStreamException = XMLStreamException occured due to : {0}
HttpServerError = HTTP Server Error : {0}
diff --git a/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-implementation-jee.xsd b/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-implementation-jee.xsd
index 83e6bb75bf..a5a6220d83 100644
--- a/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-implementation-jee.xsd
+++ b/branches/sca-java-1.x/modules/assembly-xsd/src/main/resources/sca-implementation-jee.xsd
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- (c) Copyright SCA Collaboration 2006 -->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="implementation.jee" type="sca:JEEImplementation" substitutionGroup="sca:implementation" />
- <complexType name="JEEImplementation">
- <complexContent>
- <extension base="sca:Implementation">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0"
- maxOccurs="unbounded" />
- </sequence>
- <attribute name="archive" type="string" use="required" />
- <anyAttribute namespace="##any" processContents="lax" />
- </extension>
- </complexContent>
- </complexType>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- (c) Copyright SCA Collaboration 2006 -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ elementFormDefault="qualified">
+
+ <include schemaLocation="sca-core.xsd"/>
+
+ <element name="implementation.jee" type="sca:JEEImplementation" substitutionGroup="sca:implementation" />
+ <complexType name="JEEImplementation">
+ <complexContent>
+ <extension base="sca:Implementation">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </sequence>
+ <attribute name="archive" type="string" use="required" />
+ <anyAttribute namespace="##any" processContents="lax" />
+ </extension>
+ </complexContent>
+ </complexType>
</schema> \ No newline at end of file
diff --git a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.java b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.java
index 1cf94ff527..70e873ecf0 100644
--- a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.java
+++ b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.java
@@ -62,7 +62,6 @@ public interface ConfiguredOperation extends Base, Cloneable, PolicySetAttachPoi
* @param contractName the name of the contract to which this operation belongs
*/
void setContractName(String contractName);
-
/**
* Sets a list of policy sets.
diff --git a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java
index 1158356012..5e984c3126 100644
--- a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java
+++ b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java
@@ -792,6 +792,19 @@ public abstract class BaseConfigurationBuilderImpl {
* @param service
*/
private ComponentReference createCallbackReference(Component component, ComponentService service) {
+ return createCallbackReference(component, service, assemblyFactory);
+ }
+
+ /**
+ * Create a callback reference for a component service
+ *
+ * @param component
+ * @param service
+ * @param assemblyFactory
+ */
+ protected static ComponentReference createCallbackReference(Component component,
+ ComponentService service,
+ AssemblyFactory assemblyFactory) {
ComponentReference componentReference = assemblyFactory.createComponentReference();
componentReference.setIsCallback(true);
componentReference.setName(service.getName());
diff --git a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServicePromotionBuilderImpl.java b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServicePromotionBuilderImpl.java
index d73286f7ab..ce3f817acf 100644
--- a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServicePromotionBuilderImpl.java
+++ b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServicePromotionBuilderImpl.java
@@ -21,6 +21,7 @@ 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.ComponentReference;
import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.CompositeService;
@@ -83,6 +84,11 @@ public class ComponentServicePromotionBuilderImpl implements CompositeBuilder {
newComponentService.setCallback(assemblyFactory.createCallback());
newComponentService.getCallback().getBindings()
.addAll(componentService.getCallback().getBindings());
+ ComponentReference callbackReference =
+ BaseConfigurationBuilderImpl.createCallbackReference(promotedComponent, newComponentService,
+ assemblyFactory);
+ callbackReference.getBindings().addAll(componentService.getCallback().getBindings());
+ newComponentService.setCallbackReference(callbackReference);
}
// Change the composite service to now promote the
diff --git a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java
index ea0e88ac24..38cbaf7744 100644
--- a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java
+++ b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java
@@ -21,6 +21,7 @@ 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.ComponentReference;
import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.CompositeService;
@@ -64,6 +65,11 @@ public class CompositeServicePromotionBuilderImpl implements CompositeBuilder {
newComponentService.setCallback(assemblyFactory.createCallback());
newComponentService.getCallback().getBindings()
.addAll(compositeService.getCallback().getBindings());
+ ComponentReference callbackReference =
+ BaseConfigurationBuilderImpl.createCallbackReference(promotedComponent, newComponentService,
+ assemblyFactory);
+ callbackReference.getBindings().addAll(compositeService.getCallback().getBindings());
+ newComponentService.setCallbackReference(callbackReference);
}
// Change the composite service to now promote the newly
diff --git a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java
index 5f4f42bb15..9adfaa2c56 100644
--- a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java
+++ b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java
@@ -574,14 +574,15 @@ abstract class PolicyConfigurationUtil {
// Create a new target configured operation and copy everything from the source
// except the intents and policy sets (which must be computed below).
try {
- targetConfOp = (ConfiguredOperation)sourceConfOp.clone();
+ targetConfOp = (ConfiguredOperation) sourceConfOp.clone();
targetConfOp.setRequiredIntents(new ArrayList<Intent>());
targetConfOp.setPolicySets(new ArrayList<PolicySet>());
} catch (CloneNotSupportedException e) {
// will not happen
- }
+ }
}
+
List<Intent> prunedIntents =
computeInheritableIntents(attachPoint.getType(), sourceConfOp.getRequiredIntents());
PolicyComputationUtils.addInheritedIntents(prunedIntents, targetConfOp.getRequiredIntents());
diff --git a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.java b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.java
index 6d8f986051..ca88e39750 100644
--- a/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.java
+++ b/branches/sca-java-1.x/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.java
@@ -88,7 +88,8 @@ public class ConfiguredOperationImpl extends BaseImpl implements ConfiguredOpera
public List<PolicySet> getApplicablePolicySets() {
return applicablePolicySets;
}
-
+
+ @Override
public Object clone() throws CloneNotSupportedException {
// Note this is a shallow copy.
return super.clone();
diff --git a/branches/sca-java-1.x/modules/assembly/src/main/resources/assembly-validation-messages.properties b/branches/sca-java-1.x/modules/assembly/src/main/resources/assembly-validation-messages.properties
index 6aeda18aab..e827f7e78a 100644
--- a/branches/sca-java-1.x/modules/assembly/src/main/resources/assembly-validation-messages.properties
+++ b/branches/sca-java-1.x/modules/assembly/src/main/resources/assembly-validation-messages.properties
@@ -55,8 +55,8 @@ 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.
+ReferenceInterfaceNotSubSet = Interface of composite reference must be compatible with the interface declared by promoted component reference {0}
+ServiceInterfaceNotSubSet = Interface of composite service must be a subset of the interface declared by promoted component service {0}
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/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/Sort.java b/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/Sort.java
index 8b22dd3efa..19daa1fefb 100644
--- a/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/Sort.java
+++ b/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/Sort.java
@@ -1,38 +1,38 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.atom.aggregator;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.data.collection.Entry;
-
-/**
- * The Sort service business interface.
- *
- * @version $Rev: 639931 $ $Date: 2008-03-21 18:13:05 -0700 (Fri, 21 Mar 2008) $
- */
-public interface Sort {
-
- /**
- * Sort feed entries by published date.
- * @param entries
- * @return
- */
- List<Entry> sort(List<Entry> entries);
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, 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.aggregator;
+
+import java.util.List;
+
+import org.apache.tuscany.sca.data.collection.Entry;
+
+/**
+ * The Sort service business interface.
+ *
+ * @version $Rev$ $Date$
+ */
+public interface Sort {
+
+ /**
+ * Sort feed entries by published date.
+ * @param entries
+ * @return
+ */
+ List<Entry> sort(List<Entry> entries);
+}
diff --git a/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/SortImpl.java b/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/SortImpl.java
index 8745683f6e..e81f450626 100644
--- a/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/SortImpl.java
+++ b/branches/sca-java-1.x/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/aggregator/SortImpl.java
@@ -1,62 +1,62 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.atom.aggregator;
-
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-
-import org.apache.tuscany.sca.data.collection.Entry;
-import org.apache.tuscany.sca.data.collection.Item;
-import org.osoa.sca.annotations.Property;
-
-/**
- * Implementation of a Feed Sort service component.
- *
- * @version $Rev: 685663 $ $Date: 2008-08-13 13:11:20 -0700 (Wed, 13 Aug 2008) $
- */
-public class SortImpl implements Sort {
-
- @Property
- public boolean newFirst = true;
-
- @SuppressWarnings("unchecked")
- public List<Entry> sort(List<Entry> entries) {
- Entry[] entriesArray = new Entry[entries.size()];
- entriesArray = (Entry<String,Item>[])entries.toArray(entriesArray);
- Arrays.sort(entriesArray, new Comparator() {
- public int compare(final Object xObj, final Object yObj) {
- Entry x = (Entry) xObj;
- Entry y = (Entry) yObj;
- Item xItem = (Item) x.getData();
- Item yItem = (Item) y.getData();
- Date xDate = xItem.getDate();
- Date yDate = yItem.getDate();
- if (xDate == null)
- return -1;
- if (newFirst)
- return yDate.compareTo(xDate);
- else
- return xDate.compareTo(yDate);
- }
- });
- return Arrays.asList(entriesArray);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, 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.aggregator;
+
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.tuscany.sca.data.collection.Entry;
+import org.apache.tuscany.sca.data.collection.Item;
+import org.osoa.sca.annotations.Property;
+
+/**
+ * Implementation of a Feed Sort service component.
+ *
+ * @version $Rev$ $Date$
+ */
+public class SortImpl implements Sort {
+
+ @Property
+ public boolean newFirst = true;
+
+ @SuppressWarnings("unchecked")
+ public List<Entry> sort(List<Entry> entries) {
+ Entry[] entriesArray = new Entry[entries.size()];
+ entriesArray = (Entry<String,Item>[])entries.toArray(entriesArray);
+ Arrays.sort(entriesArray, new Comparator() {
+ public int compare(final Object xObj, final Object yObj) {
+ Entry x = (Entry) xObj;
+ Entry y = (Entry) yObj;
+ Item xItem = (Item) x.getData();
+ Item yItem = (Item) y.getData();
+ Date xDate = xItem.getDate();
+ Date yDate = yItem.getDate();
+ if (xDate == null)
+ return -1;
+ if (newFirst)
+ return yDate.compareTo(xDate);
+ else
+ return xDate.compareTo(yDate);
+ }
+ });
+ return Arrays.asList(entriesArray);
+ }
+}
diff --git a/branches/sca-java-1.x/modules/binding-atom-js/LICENSE b/branches/sca-java-1.x/modules/binding-atom-js/LICENSE
index 6e529a25c4..8aa906c321 100644
--- a/branches/sca-java-1.x/modules/binding-atom-js/LICENSE
+++ b/branches/sca-java-1.x/modules/binding-atom-js/LICENSE
@@ -1,205 +1,205 @@
-
- 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 License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
diff --git a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java
index dd748fec85..67cf01eca9 100644
--- a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java
+++ b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java
@@ -139,8 +139,6 @@ class GdataBindingInvoker implements Invoker, DataExchangeSemantics {
@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;
diff --git a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java
index 34d6ca85dc..facf3bb641 100644
--- a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java
+++ b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java
@@ -39,7 +39,6 @@ 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;
diff --git a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java
index be4cc657f4..af7027ca90 100644
--- a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java
+++ b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java
@@ -40,7 +40,6 @@ public class ConsumerProviderTestCase {
public static void setUp() throws Exception {
// 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");
diff --git a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java
index 7fb7fa9fe2..5dc9c0079f 100644
--- a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java
+++ b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java
@@ -97,7 +97,6 @@ public class CustomerClientImpl implements CustomerClient {
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");
}
diff --git a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java
index 0772bd67ee..9c4d118cd6 100644
--- a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java
+++ b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java
@@ -139,5 +139,4 @@ public class CustomerCollectionImpl implements Collection {
//System.out.println(">>> ResourceCollectionImpl.query collection ");
return getFeed();
}
-
}
diff --git a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java
index e426e22ec9..9c3122e134 100644
--- a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java
+++ b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java
@@ -39,7 +39,7 @@ public class GoogleCalendarServiceTestCase {
private static SCADomain scaDomainConsumer = null;
private static CustomerClient testService = null;
- public GoogleCalendarServiceTestCase(){
+ public GoogleCalendarServiceTestCase() {
}
@@ -83,8 +83,6 @@ public class GoogleCalendarServiceTestCase {
Assert.assertEquals(newBlogEntryTitle, updatedEntry.getTitle().getPlainText());
}
-
-
@Test
public void testClientPost() throws Exception {
String blogEntryTitle = "titleByGoogleCalendarTestcase";
@@ -95,7 +93,6 @@ public class GoogleCalendarServiceTestCase {
Assert.assertEquals(blogEntryTitle, postedEntry.getTitle().getPlainText());
}
-
@Test
public void testClientDelete() throws Exception {
diff --git a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java
index e365595ff0..1f261dfc90 100644
--- a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java
+++ b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java
@@ -58,7 +58,7 @@ public class GoogleContactsServiceTestCase {
@Test
public void testClientGetFeed() throws Exception {
Feed feed = testService.clientGetFeed();
- //System.out.println("feed title: " + feed.getTitle().getPlainText());
+ System.out.println("feed title: " + feed.getTitle().getPlainText());
Assert.assertEquals("Haibo Zhao's Contacts", feed.getTitle().getPlainText());
}
@@ -69,7 +69,6 @@ public class GoogleContactsServiceTestCase {
Entry contactEntry = testService.clientGetEntry(entryID);
//System.out.println("Entry ID: " + contactEntry.getId());
Assert.assertTrue(contactEntry.getId().endsWith(entryID));
- //System.out.println("------------------------------------------------------------\n\n");
}
diff --git a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleWebAlbumServiceTestCase.java b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleWebAlbumServiceTestCase.java
index 6a657d6736..459c2f6933 100644
--- a/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleWebAlbumServiceTestCase.java
+++ b/branches/sca-java-1.x/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleWebAlbumServiceTestCase.java
@@ -26,6 +26,7 @@ import junit.framework.Assert;
import org.apache.tuscany.sca.host.embedded.SCADomain;
import org.junit.AfterClass;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;
import com.google.gdata.client.Query;
@@ -43,8 +44,6 @@ public class GoogleWebAlbumServiceTestCase {
@BeforeClass
public static 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");
@@ -52,8 +51,7 @@ public class GoogleWebAlbumServiceTestCase {
@AfterClass
public static void tearDown(){
- //System.out.println("Method Test End------------------------------------------------------------------------");
- //System.out.println("\n\n");
+ scaDomainConsumer.close();
}
@Test
@@ -103,6 +101,7 @@ public class GoogleWebAlbumServiceTestCase {
@Test
+ @Ignore("Not testing anything")
public void testClientDelete() throws Exception {
//Tested and it worked, but only once because we can not delete the same entry twice
diff --git a/branches/sca-java-1.x/modules/binding-jms-policy/src/main/resources/org/apache/tuscany/sca/binding/jms/policy/definitions.xml b/branches/sca-java-1.x/modules/binding-jms-policy/src/main/resources/org/apache/tuscany/sca/binding/jms/policy/definitions.xml
index 7a82f95da9..c87079dd54 100644
--- a/branches/sca-java-1.x/modules/binding-jms-policy/src/main/resources/org/apache/tuscany/sca/binding/jms/policy/definitions.xml
+++ b/branches/sca-java-1.x/modules/binding-jms-policy/src/main/resources/org/apache/tuscany/sca/binding/jms/policy/definitions.xml
@@ -51,7 +51,7 @@
<intent name="deliveryMode.nonPersistent">
<description>
- Message are sent non-persistently
+ Message are sent persistently
</description>
</intent>
diff --git a/branches/sca-java-1.x/modules/binding-jsonrpc-js/LICENSE b/branches/sca-java-1.x/modules/binding-jsonrpc-js/LICENSE
index 6e529a25c4..8aa906c321 100644
--- a/branches/sca-java-1.x/modules/binding-jsonrpc-js/LICENSE
+++ b/branches/sca-java-1.x/modules/binding-jsonrpc-js/LICENSE
@@ -1,205 +1,205 @@
-
- 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 License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
diff --git a/branches/sca-java-1.x/modules/binding-jsonrpc-js/NOTICE b/branches/sca-java-1.x/modules/binding-jsonrpc-js/NOTICE
index be5f8bfbae..25bb89c9b2 100644
--- a/branches/sca-java-1.x/modules/binding-jsonrpc-js/NOTICE
+++ b/branches/sca-java-1.x/modules/binding-jsonrpc-js/NOTICE
@@ -4,6 +4,3 @@ Copyright (c) 2005 - 2009 The Apache Software Foundation
This product includes software developed by
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
diff --git a/branches/sca-java-1.x/modules/binding-jsonrpc-runtime/NOTICE b/branches/sca-java-1.x/modules/binding-jsonrpc-runtime/NOTICE
index a69a0d2601..25bb89c9b2 100644
--- a/branches/sca-java-1.x/modules/binding-jsonrpc-runtime/NOTICE
+++ b/branches/sca-java-1.x/modules/binding-jsonrpc-runtime/NOTICE
@@ -4,7 +4,3 @@ Copyright (c) 2005 - 2009 The Apache Software Foundation
This product includes software developed by
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
-
diff --git a/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/Data.java b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/Data.java
new file mode 100644
index 0000000000..8c1e6b68da
--- /dev/null
+++ b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/Data.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, 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.pojo;
+
+//import java.io.Serializable;
+
+public class Data {
+
+ private Data2[] a = null;
+ private int b = 0;
+ private float c = 0.0f;
+
+ public Data2[] getA() {
+ return this.a;
+ }
+
+ public void setA(Data2[] a) {
+ this.a = a;
+ }
+
+ public int getB() {
+ return this.b;
+ }
+
+ public void setB(int b) {
+ this.b = b;
+ }
+
+ public float getC() {
+ return this.c;
+ }
+
+ public void setC(float c) {
+ this.c = c;
+ }
+
+}
diff --git a/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/Data2.java b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/Data2.java
new file mode 100644
index 0000000000..25954a0603
--- /dev/null
+++ b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/Data2.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.binding.ws.axis2.itests.pojo;
+
+public class Data2 {
+
+ private String[] asdf = null;
+
+ public String[] getAsdf() {
+ return this.asdf;
+ }
+
+ public void setAsdf(String[] asdf) {
+ this.asdf = asdf;
+ }
+
+
+}
diff --git a/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/POJOWSTestCase.java b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/POJOWSTestCase.java
new file mode 100644
index 0000000000..35849ef77b
--- /dev/null
+++ b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/POJOWSTestCase.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.binding.ws.axis2.itests.pojo;
+
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.Test;
+
+public class POJOWSTestCase {
+
+ @Test
+ public void testWS() throws Exception {
+
+ SCAContribution contrib = new SCAContribution("c1", "target/test-classes");
+ SCANode node = SCANodeFactory.newInstance().createSCANode("org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/test.composite", contrib);
+ node.start();
+
+// try {
+// System.out.println("Test server started (press enter to shutdown)");
+// System.in.read();
+// }
+// catch (IOException e) {
+// System.err.println(e);
+// e.printStackTrace();
+// }
+
+ node.stop();
+ System.out.println("Test server stopped");
+ }
+
+}
diff --git a/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/TestService.java b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/TestService.java
new file mode 100644
index 0000000000..2becc472b8
--- /dev/null
+++ b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/TestService.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.binding.ws.axis2.itests.pojo;
+
+import org.osoa.sca.annotations.Remotable;
+
+
+@Remotable
+public interface TestService {
+
+ public boolean printData(Data data);
+
+}
diff --git a/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/TestServiceImpl.java b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/TestServiceImpl.java
new file mode 100644
index 0000000000..1946d67d79
--- /dev/null
+++ b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/TestServiceImpl.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, 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.pojo;
+
+import java.util.Arrays;
+
+import org.osoa.sca.annotations.Service;
+
+@Service(TestService.class)
+public class TestServiceImpl implements TestService {
+
+ public boolean printData(Data data) {
+ if (data == null) {
+ System.out.println("data is null");
+ return false;
+ }
+
+ StringBuilder sb = new StringBuilder(256);
+ sb.append("Data:\n");
+ Data2[] a = data.getA();
+ if (a != null) {
+ for (int i = 0; i < a.length; i++) {
+ sb.append(" a[");
+ sb.append(i);
+ sb.append("] = ");
+ sb.append(Arrays.asList(a[i].getAsdf()));
+ sb.append("\n");
+ }
+ } else {
+ sb.append(" a = null");
+ }
+ sb.append("\n b = ");
+ sb.append(data.getB());
+ sb.append("\n c = ");
+ sb.append(data.getC());
+ sb.append("\n");
+
+ System.out.println(sb.toString());
+
+ return true;
+ }
+
+}
diff --git a/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/package-info.java b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/package-info.java
new file mode 100644
index 0000000000..7c8867530e
--- /dev/null
+++ b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT 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://test/server")
+package org.apache.tuscany.sca.binding.ws.axis2.itests.pojo;
+
diff --git a/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/test.composite b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/test.composite
new file mode 100644
index 0000000000..029a5e3c65
--- /dev/null
+++ b/branches/sca-java-1.x/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/pojo/test.composite
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://test"
+ xmlns:hw="http://helloworld"
+ name="test">
+ <component name="TestServiceComponent">
+ <implementation.java class="org.apache.tuscany.sca.binding.ws.axis2.itests.pojo.TestServiceImpl" />
+ <service name="TestService">
+ <interface.java interface="org.apache.tuscany.sca.binding.ws.axis2.itests.pojo.TestService" />
+ <binding.ws uri="http://localhost:8085/testService"/>
+ </service>
+ </component>
+</composite>
+
diff --git a/branches/sca-java-1.x/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java b/branches/sca-java-1.x/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java
index e1243dbc6a..c44a08c67b 100644
--- a/branches/sca-java-1.x/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java
+++ b/branches/sca-java-1.x/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java
@@ -6,25 +6,22 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
- * under the License.
+ * 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;
@@ -49,12 +46,12 @@ import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
public class ClassLoaderModelResolver extends URLClassLoader implements ModelResolver {
private Contribution contribution;
private Map<String, ModelResolver> importResolvers = new HashMap<String, ModelResolver>();
-
+
private static ClassLoader parentClassLoader() {
- ClassLoader parentClassLoader = ServiceDiscovery.getInstance().getServiceDiscoverer().getClass().getClassLoader();
+ ClassLoader parentClassLoader = ServiceDiscovery.class.getClassLoader();
return parentClassLoader;
}
-
+
private static URL[] getContributionURLs(final Contribution contribution) throws IOException {
List<URL> urls = new ArrayList<URL>();
urls.add(new URL(contribution.getLocation()));
@@ -65,7 +62,7 @@ public class ClassLoaderModelResolver extends URLClassLoader implements ModelRes
public ClassLoaderModelResolver(final Contribution contribution, ModelFactoryExtensionPoint modelFactories) throws IOException {
super(getContributionURLs(contribution), parentClassLoader());
this.contribution = contribution;
-
+
// Index Java import resolvers by package name
Map<String, List<ModelResolver>> resolverMap = new HashMap<String, List<ModelResolver>>();
for (Import import_: this.contribution.getImports()) {
@@ -79,7 +76,7 @@ public class ClassLoaderModelResolver extends URLClassLoader implements ModelRes
resolvers.add(javaImport.getModelResolver());
}
}
-
+
// Create a delegating model resolver for each imported package
for (Map.Entry<String, List<ModelResolver>> entry: resolverMap.entrySet()) {
importResolvers.put(entry.getKey(), new DefaultDelegatingModelResolver(entry.getValue()));
@@ -98,38 +95,38 @@ public class ClassLoaderModelResolver extends URLClassLoader implements ModelRes
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<URL> findResources(String name) throws IOException {
-
+
//TODO delegate to the Java import resolvers
//Enumeration<URL> importedResources;
-
+
Enumeration<URL> resources = super.findResources(name);
- List<URL> allResources = new ArrayList<URL>();
+ List<URL> allResources = new ArrayList<URL>();
//for (; importedResources.hasMoreElements(); ) {
// allResources.add(importedResources.nextElement());
//}
@@ -138,10 +135,10 @@ public class ClassLoaderModelResolver extends URLClassLoader implements ModelRes
}
return Collections.enumeration(allResources);
}
-
+
@Override
protected Class<?> findClass(String name) throws ClassNotFoundException {
-
+
// Extract the package name
int d = name.lastIndexOf('.');
String packageName;
@@ -150,7 +147,7 @@ public class ClassLoaderModelResolver extends URLClassLoader implements ModelRes
} else {
packageName = null;
}
-
+
// First try to load the class using the Java import resolvers
ModelResolver importResolver = importResolvers.get(packageName);
if (importResolver != null) {
@@ -164,5 +161,5 @@ public class ClassLoaderModelResolver extends URLClassLoader implements ModelRes
Class<?> clazz = super.findClass(name);
return clazz;
}
-
+
}
diff --git a/branches/sca-java-1.x/modules/contribution-jee-impl/pom.xml b/branches/sca-java-1.x/modules/contribution-jee-impl/pom.xml
index 057e5394e7..3442beb923 100644
--- a/branches/sca-java-1.x/modules/contribution-jee-impl/pom.xml
+++ b/branches/sca-java-1.x/modules/contribution-jee-impl/pom.xml
@@ -63,19 +63,35 @@
<version>1.6-SNAPSHOT</version>
</dependency>
+ <!-- TUSCANY-3165 Waiting for 3.0.2 to be released so
+ reverting to 3.0.1 for now. JEE itest will no work on
+ windows due to this
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-core</artifactId>
- <version>3.0.1</version>
+ <version>3.0.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-jee</artifactId>
+ <version>3.0.2-SNAPSHOT</version>
+ </dependency>
+ -->
+
+ <dependency>
+ <groupId>org.apache.openejb</groupId>
+ <artifactId>openejb-core</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
+ <groupId>org.apache.openejb</groupId>
+ <artifactId>openejb-jee</artifactId>
+ <version>3.0.1</version>
+ </dependency>
+
+ <dependency>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>wstx-asl</artifactId>
<version>3.2.4</version>
diff --git a/branches/sca-java-1.x/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java b/branches/sca-java-1.x/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java
index 4e0e58e6a1..9a84d88340 100644
--- a/branches/sca-java-1.x/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java
+++ b/branches/sca-java-1.x/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java
@@ -43,7 +43,6 @@ import org.apache.tuscany.sca.databinding.impl.Group2GroupTransformer;
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.interfacedef.java.jaxws.WebServiceInterfaceProcessor;
import org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint;
@@ -61,9 +60,8 @@ public class DataBindingModuleActivator implements ModuleActivator {
XMLAdapterExtensionPoint xmlAdapterExtensionPoint = registry.getExtensionPoint(XMLAdapterExtensionPoint.class);
xmlAdapterExtensionPoint.addAdapter(CallableReference.class, CallableReferenceXMLAdapter.class);
xmlAdapterExtensionPoint.addAdapter(OMElement.class, OMElementXMLAdapter.class);
- FaultExceptionMapper faultExceptionMapper = new JAXWSFaultExceptionMapper(dataBindings, xmlAdapterExtensionPoint);
- registry.getExtensionPoint(UtilityExtensionPoint.class).addUtility(faultExceptionMapper);
-
+ FaultExceptionMapper faultExceptionMapper = registry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(FaultExceptionMapper.class);
+
Mediator mediator = registry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(Mediator.class);
Input2InputTransformer input2InputTransformer = new Input2InputTransformer();
diff --git a/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java b/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java
index 0fa1d27d2a..0b3c043340 100644
--- a/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java
+++ b/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java
@@ -56,6 +56,25 @@ public class CglibProxyFactory implements ProxyFactory {
return createProxy(serviceReference);
}
+ private class CglibClassLoader extends ClassLoader {
+ private ClassLoader appLoader;
+ private ClassLoader bundleLoader;
+
+ @Override
+ public Class<?> loadClass(String className)
+ throws ClassNotFoundException {
+ try {
+ return appLoader.loadClass(className);
+ } catch (ClassNotFoundException ex ) {
+ return bundleLoader.loadClass(className);
+ }
+ }
+
+ CglibClassLoader(ClassLoader app, ClassLoader bundle) {
+ this.appLoader = app;
+ this.bundleLoader = bundle;
+ }
+ }
/**
* create the proxy with cglib. use the same JDKInvocationHandler as
* JDKProxyService.
@@ -63,6 +82,8 @@ public class CglibProxyFactory implements ProxyFactory {
public <T> T createProxy(CallableReference<T> callableReference) throws ProxyCreationException {
Enhancer enhancer = new Enhancer();
Class<T> interfaze = callableReference.getBusinessInterface();
+ ClassLoader cl = new CglibClassLoader(interfaze.getClassLoader(), getClass().getClassLoader());
+ enhancer.setClassLoader(cl);
enhancer.setSuperclass(interfaze);
enhancer.setCallback(new CglibMethodInterceptor<T>(callableReference));
Object proxy = enhancer.create();
diff --git a/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/SCAProxy.java b/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/SCAProxy.java
index 1112d02b7e..b591ccedd6 100644
--- a/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/SCAProxy.java
+++ b/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/SCAProxy.java
@@ -33,7 +33,7 @@ public class SCAProxy extends Proxy
// 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<Class, Object>();
+ private static WeakHashMap cache = new WeakHashMap<String, Object>();
public static Object newProxyInstance(ClassLoader classloader, Class aclass[], InvocationHandler invocationhandler)
throws IllegalArgumentException
@@ -44,13 +44,13 @@ public class SCAProxy extends Proxy
// Lookup cached constructor. aclass[0] is the reference's business interface.
Constructor proxyCTOR;
synchronized(cache) {
- proxyCTOR = (Constructor) cache.get(aclass[0]);
+ proxyCTOR = (Constructor) cache.get(aclass[0].hashCode());
}
if(proxyCTOR == null) {
Class proxyClass = getProxyClass(classloader, aclass);
proxyCTOR = proxyClass.getConstructor(constructorParams);
synchronized(cache){
- cache.put(aclass[0],proxyCTOR);
+ cache.put(aclass[0].hashCode(),proxyCTOR);
}
}
return proxyCTOR.newInstance(new Object[] { invocationhandler });
diff --git a/branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java b/branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java
index 695722be18..ada0c94a8d 100644
--- a/branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java
+++ b/branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java
@@ -138,16 +138,26 @@ public final class SDOContextHelper {
}
try {
Type type = helperContext.getTypeHelper().getType(javaType);
- if (type != null && (!type.isDataType())) {
+ return register(helperContext, type);
+ } catch (Exception e) {
+ throw new TransformationException(e);
+ }
+ }
+
+ public static boolean register(HelperContext helperContext, Type type) {
+ if (type != null && (!type.isDataType())) {
+ try {
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;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
}
+ } else {
return false;
- } catch (Exception e) {
- throw new TransformationException(e);
}
}
diff --git a/branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java b/branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java
index 0b58be9e41..39e9ffc161 100644
--- a/branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java
+++ b/branches/sca-java-1.x/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java
@@ -69,7 +69,7 @@ public class SDODataBinding extends BaseDataBinding {
}
});
- Type type = context.getTypeHelper().getType(javaType);
+ final Type type = context.getTypeHelper().getType(javaType);
if (type == null) {
// FIXME: Need a better to test dynamic SDO
if (DataObject.class.isAssignableFrom(javaType)) {
@@ -92,10 +92,12 @@ public class SDODataBinding extends BaseDataBinding {
public Object run() {
if (context == SDOContextHelper.getDefaultHelperContext()) {
HelperContext newContext = SDOUtil.createHelperContext();
- SDOContextHelper.register(newContext, javaType);
+ SDOContextHelper.register(newContext, type);
if (operation != null) {
operation.getInputType().setMetaData(HelperContext.class, newContext);
}
+ } else {
+ SDOContextHelper.register(context, type);
}
return null;
}
diff --git a/branches/sca-java-1.x/modules/endpoint/pom.xml b/branches/sca-java-1.x/modules/endpoint/pom.xml
index a77f1fee9a..ddcf178a76 100644
--- a/branches/sca-java-1.x/modules/endpoint/pom.xml
+++ b/branches/sca-java-1.x/modules/endpoint/pom.xml
@@ -50,27 +50,22 @@
<version>1.6-SNAPSHOT</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
+ <artifactId>tuscany-core</artifactId>
<version>1.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-xml</artifactId>
- <version>1.6-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
+ <artifactId>tuscany-binding-sca</artifactId>
<version>1.6-SNAPSHOT</version>
+ <scope>test</scope>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca</artifactId>
+ <artifactId>tuscany-workspace-impl</artifactId>
<version>1.6-SNAPSHOT</version>
<scope>test</scope>
</dependency>
@@ -94,14 +89,7 @@
<artifactId>tuscany-monitor</artifactId>
<version>1.6-SNAPSHOT</version>
<scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-workspace-impl</artifactId>
- <version>1.6-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
+ </dependency>
<dependency>
<groupId>org.easymock</groupId>
diff --git a/branches/sca-java-1.x/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java b/branches/sca-java-1.x/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java
index 1cb1d09f8d..fa137daa16 100644
--- a/branches/sca-java-1.x/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java
+++ b/branches/sca-java-1.x/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java
@@ -28,7 +28,7 @@ import org.osgi.framework.BundleContext;
/**
* The Bundle Activator that creates the Equinox-based service discoverer
*
- * @version $Rev: $ $Date: $
+ * @version $Rev$ $Date$
*/
public class EquinoxServiceDiscoveryActivator implements BundleActivator {
private static Logger logger = Logger.getLogger(EquinoxServiceDiscoveryActivator.class.getName());
diff --git a/branches/sca-java-1.x/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/TransientNameService.java b/branches/sca-java-1.x/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/TransientNameService.java
index 74dd0fdc97..0a437f9ae9 100644
--- a/branches/sca-java-1.x/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/TransientNameService.java
+++ b/branches/sca-java-1.x/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/TransientNameService.java
@@ -188,10 +188,10 @@ public class TransientNameService {
} catch (Throwable e) {
// Ignore
}
-
+
// Call destroy after close the acceptors
// In JDK 1.6u14 or later, destroy clean up the acceptors but it doesn't close them
- createdOrb.destroy();
+ createdOrb.destroy();
createdOrb = null;
}
}
diff --git a/branches/sca-java-1.x/modules/host-embedded/pom.xml b/branches/sca-java-1.x/modules/host-embedded/pom.xml
index cdd06580b8..3ede75bc6f 100644
--- a/branches/sca-java-1.x/modules/host-embedded/pom.xml
+++ b/branches/sca-java-1.x/modules/host-embedded/pom.xml
@@ -105,7 +105,14 @@
<artifactId>tuscany-host-http</artifactId>
<version>1.6-SNAPSHOT</version>
<scope>compile</scope>
- </dependency>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-endpoint</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
</dependencies>
diff --git a/branches/sca-java-1.x/modules/host-webapp/pom.xml b/branches/sca-java-1.x/modules/host-webapp/pom.xml
index e7feac7caa..de8a945ce5 100644
--- a/branches/sca-java-1.x/modules/host-webapp/pom.xml
+++ b/branches/sca-java-1.x/modules/host-webapp/pom.xml
@@ -49,6 +49,22 @@
</dependency>
<dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1.1</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version> <!-- to keep compatible with older servlet containers -->
@@ -62,22 +78,6 @@
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1.1</version>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>avalon-framework</groupId>
- <artifactId>avalon-framework</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
</dependencies>
<build>
diff --git a/branches/sca-java-1.x/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java b/branches/sca-java-1.x/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java
index aaeea34219..f301082d59 100644
--- a/branches/sca-java-1.x/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java
+++ b/branches/sca-java-1.x/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java
@@ -21,7 +21,6 @@ package org.apache.tuscany.sca.implementation.bpel.ode.provider;
import java.lang.reflect.InvocationTargetException;
import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
import javax.transaction.SystemException;
import javax.transaction.TransactionManager;
@@ -56,11 +55,8 @@ import org.w3c.dom.Element;
* @version $Rev$ $Date$
*/
public class BPELInvoker implements Invoker {
- private final static long TIME_OUT = 2000L;
-
protected final Log __log = LogFactory.getLog(getClass());
-
private EmbeddedODEServer odeServer;
private TransactionManager txMgr;
@@ -155,8 +151,7 @@ public class BPELInvoker implements Invoker {
// Waiting until the reply is ready in case the engine needs to continue in a different thread
if (onhold != null) {
try {
- //add timeout to avoid blocking when there is a exception/failure
- onhold.get(TIME_OUT, TimeUnit.MILLISECONDS);
+ onhold.get();
} catch (Exception e) {
throw new InvocationTargetException(e,"Error invoking BPEL process : " + e.getMessage());
}
diff --git a/branches/sca-java-1.x/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaElementImpl.java b/branches/sca-java-1.x/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaElementImpl.java
index 2365298f71..e5fa399bf6 100644
--- a/branches/sca-java-1.x/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaElementImpl.java
+++ b/branches/sca-java-1.x/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaElementImpl.java
@@ -21,6 +21,7 @@ package org.apache.tuscany.sca.implementation.java.impl;
import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType;
+import java.lang.ref.WeakReference;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
@@ -36,8 +37,8 @@ import java.lang.reflect.Type;
public class JavaElementImpl {
private AnnotatedElement anchor;
private ElementType elementType;
- private Class<?> type;
- private Type genericType;
+ private WeakReference<Class<?>> type;
+ private WeakReference<Type> genericType;
private int index = -1;
private String name;
private Class<? extends Annotation> classifer;
@@ -51,24 +52,24 @@ public class JavaElementImpl {
public JavaElementImpl(Class<?> cls) {
this.anchor = cls;
this.elementType = ElementType.TYPE;
- this.type = cls;
- this.genericType = cls;
+ this.type = new WeakReference<Class<?>>(cls);
+ this.genericType = new WeakReference<Type>(cls);
this.name = cls.getName();
}
public JavaElementImpl(Field field) {
this.anchor = field;
this.elementType = ElementType.FIELD;
- this.type = field.getType();
- this.genericType = field.getGenericType();
+ this.type = new WeakReference<Class<?>>(field.getType());
+ this.genericType = new WeakReference<Type>(field.getGenericType());
this.name = field.getName();
}
public JavaElementImpl(Constructor<?> constructor, int index) {
this.anchor = constructor;
this.elementType = ElementType.PARAMETER;
- this.type = constructor.getParameterTypes()[index];
- this.genericType = constructor.getGenericParameterTypes()[index];
+ this.type = new WeakReference<Class<?>>(constructor.getParameterTypes()[index]);
+ this.genericType = new WeakReference<Type>(constructor.getGenericParameterTypes()[index]);
this.index = index;
this.name = "";
}
@@ -76,8 +77,8 @@ public class JavaElementImpl {
public JavaElementImpl(Method method, int index) {
this.anchor = method;
this.elementType = ElementType.PARAMETER;
- this.type = method.getParameterTypes()[index];
- this.genericType = method.getGenericParameterTypes()[index];
+ this.type = new WeakReference<Class<?>>(method.getParameterTypes()[index]);
+ this.genericType = new WeakReference<Type>(method.getGenericParameterTypes()[index]);
this.index = index;
this.name = "";
}
@@ -92,7 +93,7 @@ public class JavaElementImpl {
*/
public JavaElementImpl(String name, Class<?> type, Class<? extends Annotation> classifer) {
super();
- this.type = type;
+ this.type = new WeakReference<Class<?>>(type);
this.name = name;
this.classifer = classifer;
}
@@ -115,7 +116,7 @@ public class JavaElementImpl {
* @return the genericType
*/
public Type getGenericType() {
- return genericType;
+ return genericType.get();
}
/**
@@ -129,7 +130,7 @@ public class JavaElementImpl {
* @return the type
*/
public Class<?> getType() {
- return type;
+ return type.get();
}
public Annotation[] getAnnotations() {
diff --git a/branches/sca-java-1.x/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/runtime/context/SpringContextTie.java b/branches/sca-java-1.x/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/runtime/context/SpringContextTie.java
index c579915970..6e8f1e8df4 100644
--- a/branches/sca-java-1.x/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/runtime/context/SpringContextTie.java
+++ b/branches/sca-java-1.x/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/runtime/context/SpringContextTie.java
@@ -20,6 +20,7 @@
package org.apache.tuscany.sca.implementation.spring.runtime.context;
import java.net.URL;
+import java.util.Iterator;
import java.util.List;
import org.apache.tuscany.sca.implementation.spring.processor.ComponentNameAnnotationProcessor;
@@ -30,11 +31,17 @@ import org.apache.tuscany.sca.implementation.spring.processor.PropertyAnnotation
import org.apache.tuscany.sca.implementation.spring.processor.PropertyValueStub;
import org.apache.tuscany.sca.implementation.spring.processor.ReferenceAnnotationProcessor;
import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
+import org.springframework.beans.factory.config.ConstructorArgumentValues;
+import org.springframework.beans.factory.config.TypedStringValue;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
+import org.springframework.beans.factory.support.ManagedList;
import org.springframework.beans.factory.xml.XmlBeanFactory;
-import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
+import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.core.io.UrlResource;
import org.springframework.core.SpringVersion;
@@ -51,11 +58,35 @@ public class SpringContextTie {
private SpringImplementationStub implementation;
private boolean isAnnotationSupported;
private String versionSupported;
+ private boolean isMultipleContextSupport;
- public SpringContextTie(SpringImplementationStub implementation, List<URL> resource, boolean annotationSupport, String versionSupported) throws Exception {
+ // TUSCANY-3128
+ // extension of the generic application context just to force the classloader
+ // on the bean factory to stay set to the contribution classloader
+ // instead of being set back to the application classloader
+ private class LocalGenericApplicationContext extends GenericApplicationContext{
+
+ ClassLoader classloader = null;
+
+ public LocalGenericApplicationContext(DefaultListableBeanFactory beanFactory,
+ ApplicationContext parent,
+ ClassLoader classloader) {
+ super(beanFactory, parent);
+ this.classloader = classloader;
+ }
+
+ @Override
+ protected void postProcessBeanFactory(
+ ConfigurableListableBeanFactory beanFactory) {
+ beanFactory.setBeanClassLoader(classloader);
+ }
+ }
+
+ public SpringContextTie(SpringImplementationStub implementation, URL resource, boolean annotationSupport, String versionSupported, boolean multipleContextSupport) throws Exception {
this.implementation = implementation;
this.isAnnotationSupported = annotationSupport;
this.versionSupported = versionSupported;
+ this.isMultipleContextSupport = multipleContextSupport;
if (! this.versionSupported.equals("ANY")) {
if ((SpringVersion.getVersion()!= null) && (! SpringVersion.getVersion().equals(versionSupported)))
throw new RuntimeException("Unsupported version: Use only Spring Framework Version " + versionSupported);
@@ -81,36 +112,63 @@ public class SpringContextTie {
/**
* Create appropriate ApplicationContext by reading the bean definitions.
*/
- private AbstractApplicationContext createApplicationContext(SCAParentApplicationContext scaParentContext, List<URL> resources) {
+ private AbstractApplicationContext createApplicationContext(SCAParentApplicationContext scaParentContext, URL resource) {
- XmlBeanFactory beanFactory = null;
- AbstractApplicationContext appContext = null;
-
- if (resources.size() > 1)
- {
- GenericApplicationContext appCtx =
- new SCAGenericApplicationContext(scaParentContext, implementation.getClassLoader());
- XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(appCtx);
- for (URL resource : resources) {
- xmlReader.loadBeanDefinitions(new UrlResource(resource));
- }
- xmlReader.setBeanClassLoader(implementation.getClassLoader());
- if (isAnnotationSupported)
- includeAnnotationProcessors(appCtx.getBeanFactory());
- return appCtx;
-
- } else {
- beanFactory = new XmlBeanFactory(new UrlResource(resources.get(0)));
- beanFactory.setBeanClassLoader(implementation.getClassLoader());
- }
+ XmlBeanFactory beanFactory = new XmlBeanFactory(new UrlResource(resource));
+ beanFactory.setBeanClassLoader(implementation.getClassLoader());
+ AbstractApplicationContext appContext = null;
+
+ if (isMultipleContextSupport) {
+ for (String bean : beanFactory.getBeanDefinitionNames()) {
+ String beanClassName = (beanFactory.getType(bean)).getName();
+ // Using FileSystemXmlApplicationContext is not supported, as the
+ // SCA runtime does not support paths relative to current VM working directory.
+ /*if (beanClassName.indexOf(".FileSystemXmlApplicationContext") != -1) {
+ throw new RuntimeException("Usage of FileSystemXmlApplicationContext Bean is not supported");
+ }*/
+
+ if (beanClassName.indexOf(".ClassPathXmlApplicationContext") != -1) {
+ BeanDefinition beanDef = beanFactory.getBeanDefinition(bean);
+ String[] configLocations = null;
+ List<ConstructorArgumentValues.ValueHolder> conArgs =
+ beanDef.getConstructorArgumentValues().getGenericArgumentValues();
+ for (ConstructorArgumentValues.ValueHolder conArg : conArgs) {
+ if (conArg.getValue() instanceof TypedStringValue) {
+ TypedStringValue value = (TypedStringValue) conArg.getValue();
+ if (value.getValue().indexOf(".xml") != -1)
+ configLocations = new String[]{value.getValue()};
+ }
+ if (conArg.getValue() instanceof ManagedList) {
+ Iterator itml = ((ManagedList)conArg.getValue()).iterator();
+ StringBuffer values = new StringBuffer();
+ while (itml.hasNext()) {
+ TypedStringValue next = (TypedStringValue)itml.next();
+ if (next.getValue().indexOf(".xml") != -1) {
+ values.append(implementation.getClassLoader().getResource(next.getValue()).toString());
+ values.append("~");
+ }
+ }
+ configLocations = (values.toString()).split("~");
+ }
+ }
+
+ appContext = new ClassPathXmlApplicationContext(configLocations, true, scaParentContext);
+ if (isAnnotationSupported)
+ includeAnnotationProcessors(appContext.getBeanFactory());
+ return appContext;
+ }
+ }
+ }
// use the generic application context as default
- if (isAnnotationSupported) {
+ if (isAnnotationSupported)
+ {
includeAnnotationProcessors(beanFactory);
- }
- appContext = new SCAGenericApplicationContext(beanFactory,
- scaParentContext,
- implementation.getClassLoader());
+ }
+
+ appContext = new LocalGenericApplicationContext(beanFactory,
+ scaParentContext,
+ implementation.getClassLoader());
return appContext;
}
diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java
index 61b707b1e1..bee0e462fc 100644
--- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java
@@ -44,7 +44,7 @@ public class SpringImplementation extends ImplementationImpl implements Implemen
// The location attribute which points to the Spring application-context XML file
private String location;
// The application-context file as a Spring Resource
- private List<URL> resource;
+ private URL resource;
private ComponentType componentType;
// Mapping of Services to Beans
private Hashtable<String, SpringBeanElement> serviceMap;
@@ -78,11 +78,11 @@ public class SpringImplementation extends ImplementationImpl implements Implemen
return;
}
- public void setResource(List<URL> resource) {
+ public void setResource(URL resource) {
this.resource = resource;
}
- public List<URL> getResource() {
+ public URL getResource() {
return resource;
}
diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLComponentTypeLoader.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLComponentTypeLoader.java
index 3b73ba00c1..54d42937db 100644
--- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLComponentTypeLoader.java
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLComponentTypeLoader.java
@@ -90,19 +90,22 @@ public class SpringXMLComponentTypeLoader {
private AssemblyFactory assemblyFactory;
private JavaInterfaceFactory javaFactory;
private PolicyFactory policyFactory;
+ private boolean isMultipleContextSupported;
private SpringBeanIntrospector beanIntrospector;
public SpringXMLComponentTypeLoader(ModelFactoryExtensionPoint factories,
AssemblyFactory assemblyFactory,
JavaInterfaceFactory javaFactory,
- PolicyFactory policyFactory) {
+ PolicyFactory policyFactory,
+ boolean multipleContextSupport) {
super();
this.assemblyFactory = assemblyFactory;
this.javaFactory = javaFactory;
this.policyFactory = policyFactory;
this.contributionFactory = factories.getFactory(ContributionFactory.class);
this.xmlInputFactory = factories.getFactory(XMLInputFactory.class);
+ this.isMultipleContextSupported = multipleContextSupport;
}
protected Class<SpringImplementation> getImplementationClass() {
@@ -156,25 +159,23 @@ public class SpringXMLComponentTypeLoader {
List<SpringSCAPropertyElement> scaproperties = new ArrayList<SpringSCAPropertyElement>();
URL resource;
- List<URL> contextResources = new ArrayList<URL>();
+
String contextPath = implementation.getLocation();
try {
resource = resolveLocation(resolver, contextPath);
- contextResources = getApplicationContextResource(resource);
+ resource = getApplicationContextResource(resource);
implementation.setClassLoader(new ContextClassLoader(resolver));
- implementation.setResource(contextResources);
+ implementation.setResource(resource);
// The URI is used to uniquely identify the Implementation
implementation.setURI(resource.toString());
+ reader = xmlInputFactory.createXMLStreamReader(resource.openStream());
+
+ // System.out.println("Spring TypeLoader - starting to read context file");
+ readContextDefinition(resolver, reader, contextPath, beans, services, references, scaproperties);
- for (URL contextResource : contextResources) {
- reader = xmlInputFactory.createXMLStreamReader(contextResource.openStream());
- // System.out.println("Spring TypeLoader - starting to read context file");
- readContextDefinition(resolver, reader, contextPath, beans, services, references, scaproperties);
-
- reader.close();
- }
+ reader.close();
} catch (IOException e) {
throw new ContributionReadException(e);
@@ -218,7 +219,7 @@ public class SpringXMLComponentTypeLoader {
private XMLStreamReader getApplicationContextReader(ModelResolver resolver, String location) throws ContributionReadException {
try {
- URL resource = getApplicationContextResource(resolveLocation(resolver, location)).get(0);
+ URL resource = getApplicationContextResource(resolveLocation(resolver, location));
XMLStreamReader reader =
xmlInputFactory.createXMLStreamReader(resource.openStream());
return reader;
@@ -341,6 +342,13 @@ public class SpringXMLComponentTypeLoader {
if (reader.getAttributeValue(null, "value") != null) {
String value = reader.getAttributeValue(null, "value");
constructorArg.addValue(value);
+ if ((isMultipleContextSupported) && (value.indexOf(".xml") != -1)) {
+ if (bean.getClassName().indexOf(".ClassPathXmlApplicationContext") != -1) {
+ XMLStreamReader creader = getApplicationContextReader(resolver, value);
+ // Read the context definition for the constructor-arg resources
+ readContextDefinition(resolver, creader, contextPath, beans, services, references, scaproperties);
+ }
+ }
}
bean.addCustructorArgs(constructorArg);
} else if (SpringImplementationConstants.REF_ELEMENT.equals(qname)) {
@@ -352,8 +360,17 @@ public class SpringXMLComponentTypeLoader {
} else if (SpringImplementationConstants.VALUE_ELEMENT.equals(qname)) {
String value = reader.getElementText();
// Check if the parent element is a constructor-arg
- if (constructorArg != null)
+ if (constructorArg != null) {
constructorArg.addValue(value);
+ // Identify the XML resource specified for the constructor-arg element
+ if ((isMultipleContextSupported) && (value.indexOf(".xml") != -1)) {
+ if (bean.getClassName().indexOf(".ClassPathXmlApplicationContext") != -1) {
+ XMLStreamReader creader = getApplicationContextReader(resolver, value);
+ // Read the context definition for the constructor-arg resources
+ readContextDefinition(resolver, creader, contextPath, beans, services, references, scaproperties);
+ }
+ }
+ }
} // end if
break;
case END_ELEMENT:
@@ -555,9 +572,9 @@ public class SpringXMLComponentTypeLoader {
Class<?> interfaze = resolveClass(resolver, paramType);
// Create a component type reference/property if the constructor-arg element has a
// type attribute OR index attribute declared...
- if ((conArgElement.getType() != null && paramType.equals(conArgElement.getType())) ||
+ if ((conArgElement.getType() != null && paramType.equals(conArgElement.getType())) ||
(conArgElement.getIndex() != -1 && (conArgElement.getIndex() == parameter.getIndex())))
- {
+ {
if (parameter.getClassifer().getName().equals("org.osoa.sca.annotations.Reference")) {
Reference theReference = createReference(interfaze, conArgElement.getRef());
componentType.getReferences().add(theReference);
@@ -653,19 +670,19 @@ public class SpringXMLComponentTypeLoader {
* @param locationAttr - the location attribute from the <implementation.spring../> element
* @param cl - the ClassLoader for the Spring implementation
*/
- protected List<URL> getApplicationContextResource(URL url)
+ protected URL getApplicationContextResource(URL url)
throws ContributionReadException {
File manifestFile = null;
File appXmlFile;
File locationFile = null;
- List<URL> appCtxResources = new ArrayList<URL>();
if (url != null) {
String path = url.getPath();
locationFile = new File(path);
} else {
- throw new ContributionReadException("SpringXMLComponentTypeLoader getApplicationContextResource: "
- + "unable to find resource file " + url);
+ throw new ContributionReadException(
+ "SpringXMLLoader getApplicationContextResource: " + "unable to find resource file "
+ + url);
}
if (locationFile.isDirectory()) {
@@ -675,26 +692,21 @@ public class SpringXMLComponentTypeLoader {
Manifest mf = new Manifest(new FileInputStream(manifestFile));
Attributes mainAttrs = mf.getMainAttributes();
String appCtxPath = mainAttrs.getValue("Spring-Context");
- if (appCtxPath != null) {
- String[] cxtPaths = appCtxPath.split(";");
- for (String path : cxtPaths) {
- appXmlFile = new File(locationFile, path);
- if (appXmlFile.exists()) {
- appCtxResources.add(appXmlFile.toURI().toURL());
- }
- }
- return appCtxResources;
+ if (appCtxPath != null) {
+ appXmlFile = new File(locationFile, appCtxPath);
+ if (appXmlFile.exists()) {
+ return appXmlFile.toURL();
+ }
}
}
// no manifest-specified Spring context, use default
appXmlFile = new File(locationFile, "META-INF" + File.separator + "spring"
+ File.separator + SpringImplementationConstants.APPLICATION_CONTEXT);
if (appXmlFile.exists()) {
- appCtxResources.add(appXmlFile.toURI().toURL());
- return appCtxResources;
+ return appXmlFile.toURL();
}
} catch (IOException e) {
- throw new ContributionReadException("Error reading manifest " + manifestFile);
+ throw new ContributionReadException("Error reading manifest inside the folder: ", e);
}
} else {
if (locationFile.isFile() && locationFile.getName().endsWith(".jar")) {
@@ -706,22 +718,18 @@ public class SpringXMLComponentTypeLoader {
Attributes mainAttrs = mf.getMainAttributes();
String appCtxPath = mainAttrs.getValue("Spring-Context");
if (appCtxPath != null) {
- String[] cxtPaths = appCtxPath.split(";");
- for (String path : cxtPaths) {
- je = jf.getJarEntry(path);
- if (je != null) {
- appCtxResources.add(new URL("jar:" + locationFile.toURI().toURL() + "!/" + appCtxPath));
- }
- }
- return appCtxResources;
+ je = jf.getJarEntry(appCtxPath);
+ if (je != null) {
+ // TODO return a Spring specific Resource type for jars
+ return new URL("jar:" + locationFile.toURI().toURL() + "!/" + appCtxPath);
+ }
}
}
// Look for the default applicaiton-context.xml file, when MANIFEST.MF is absent.
je = jf.getJarEntry("META-INF" + "/" + "spring" + "/" + SpringImplementationConstants.APPLICATION_CONTEXT);
if (je != null) {
- appCtxResources.add(new URL("jar:" + locationFile.toURI().toURL() + "!/" +
- "META-INF" + "/" + "spring" + "/" + SpringImplementationConstants.APPLICATION_CONTEXT));
- return appCtxResources;
+ return new URL("jar:" + locationFile.toURI().toURL() + "!/" +
+ "META-INF" + "/" + "spring" + "/" + SpringImplementationConstants.APPLICATION_CONTEXT);
}
} catch (IOException e) {
// TODO: create a more appropriate exception type
@@ -731,14 +739,13 @@ public class SpringXMLComponentTypeLoader {
}
else {
if (locationFile.getName().endsWith(".xml")) {
- appCtxResources.add(url);
- return appCtxResources;
+ return url;
}
else {
// Deal with the directory inside a jar file, in case the contribution itself is a JAR file.
try {
if (locationFile.getPath().indexOf(".jar") > 0) {
- String jarPath = url.getPath().substring(6, url.getPath().indexOf("!"));
+ String jarPath = url.getPath().substring(5, url.getPath().indexOf("!"));
JarFile jf = new JarFile(jarPath);
JarEntry je = jf.getJarEntry(url.getPath().substring(url.getPath().indexOf("!/")+2)
+ "/" + "META-INF" + "/" + "MANIFEST.MF");
@@ -747,34 +754,29 @@ public class SpringXMLComponentTypeLoader {
Attributes mainAttrs = mf.getMainAttributes();
String appCtxPath = mainAttrs.getValue("Spring-Context");
if (appCtxPath != null) {
- String[] cxtPaths = appCtxPath.split(";");
- for (String path : cxtPaths) {
- je = jf.getJarEntry(url.getPath().substring(url.getPath().indexOf("!/")+2) + "/" + path);
- if (je != null) {
- appCtxResources.add(new URL("jar:" + url.getPath() + "/" + path));
- return appCtxResources;
- }
- }
+ je = jf.getJarEntry(url.getPath().substring(url.getPath().indexOf("!/")+2) + "/" + appCtxPath);
+ if (je != null) {
+ return new URL("jar:" + url.getPath() + "/" + appCtxPath);
+ }
}
}
// Look for the default applicaiton-context.xml file, when MANIFEST.MF is absent.
je = jf.getJarEntry(url.getPath().substring(url.getPath().indexOf("!/")+2) + "/" +
"META-INF" + "/" + "spring" + "/" + SpringImplementationConstants.APPLICATION_CONTEXT);
if (je != null) {
- appCtxResources.add(new URL("jar:" + url.getPath() + "/" +
- "META-INF" + "/" + "spring" + "/" + SpringImplementationConstants.APPLICATION_CONTEXT));
- return appCtxResources;
+ return new URL("jar:" + url.getPath() + "/" +
+ "META-INF" + "/" + "spring" + "/" + SpringImplementationConstants.APPLICATION_CONTEXT);
}
}
} catch (IOException e) {
- throw new ContributionReadException("Error reading manifest " + manifestFile);
+ throw new ContributionReadException("Error reading manifest inside the jar folder: ", e);
}
}
}
}
- throw new ContributionReadException("SpringXMLComponentTypeLoader getApplicationContextResource: "
- + "unable to read resource file " + url);
+ throw new ContributionReadException("SpringXMLLoader getApplicationContextResource: "
+ + "META-INF/spring/" + SpringImplementationConstants.APPLICATION_CONTEXT + " not found");
} // end method getApplicationContextResource
/**
diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ConfigurationPropertiesExtensionPoint.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ConfigurationPropertiesExtensionPoint.java
index 0464355565..4fdcb52241 100644
--- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ConfigurationPropertiesExtensionPoint.java
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/ConfigurationPropertiesExtensionPoint.java
@@ -4,6 +4,8 @@ public interface ConfigurationPropertiesExtensionPoint {
boolean isAnnotationSupported();
+ boolean isMultipleContextSupported();
+
String getSupportedVersion();
}
diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultConfigurationPropertiesExtensionPoint.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultConfigurationPropertiesExtensionPoint.java
index a0e7186eab..94b8e0eb36 100644
--- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultConfigurationPropertiesExtensionPoint.java
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/DefaultConfigurationPropertiesExtensionPoint.java
@@ -8,11 +8,17 @@ public class DefaultConfigurationPropertiesExtensionPoint implements Configurati
}
// By default SCA annotations for implementation.spring
- // will be supproted.
+ // will be supproted for Tuscany.
public boolean isAnnotationSupported() {
return true;
}
+ // By default multiple application context implementation.spring
+ // will be supproted for Tuscany.
+ public boolean isMultipleContextSupported() {
+ return true;
+ }
+
// By defauly all the Spring version are supported for
// Tuscany.
public String getSupportedVersion() {
diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java
index 290bbff171..818bc4e102 100644
--- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringContextStub.java
@@ -22,7 +22,7 @@ package org.apache.tuscany.sca.implementation.spring.invocation;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.List;
+import java.net.URL;
import org.apache.tuscany.sca.core.invocation.ProxyFactory;
import org.apache.tuscany.sca.implementation.java.injection.JavaPropertyValueObjectFactory;
@@ -47,9 +47,10 @@ public class SpringContextStub {
ProxyFactory proxyService,
JavaPropertyValueObjectFactory propertyValueObjectFactory,
boolean annotationSupport,
- String versionSupported) {
+ String versionSupported,
+ boolean multipleContextSupport) {
- initTie(component, implementation, propertyValueObjectFactory, annotationSupport, versionSupported);
+ initTie(component, implementation, propertyValueObjectFactory, annotationSupport, versionSupported, multipleContextSupport);
}
@@ -57,7 +58,8 @@ public class SpringContextStub {
SpringImplementation implementation,
JavaPropertyValueObjectFactory propertyValueObjectFactory,
boolean annotationSupport,
- String versionSupported) {
+ String versionSupported,
+ boolean multipleContextSupport) {
// TODO: what class loader to use?
ClassLoader cl = Thread.currentThread().getContextClassLoader();
@@ -69,8 +71,8 @@ public class SpringContextStub {
Object stub = stubConstructor.newInstance(new SpringImplementationTie(implementation, component, propertyValueObjectFactory));
Class<?> tieClass = Class.forName("org.apache.tuscany.sca.implementation.spring.runtime.context.SpringContextTie", true, cl);
- Constructor<?> tieConstructor = tieClass.getConstructor(new Class<?>[]{stubClass, List.class, boolean.class, String.class});
- this.tie = tieConstructor.newInstance(stub, implementation.getResource(), annotationSupport, versionSupported);
+ Constructor<?> tieConstructor = tieClass.getConstructor(new Class<?>[]{stubClass, URL.class, boolean.class, String.class, boolean.class});
+ this.tie = tieConstructor.newInstance(stub, implementation.getResource(), annotationSupport, versionSupported, multipleContextSupport);
this.startMethod = tieClass.getMethod("start");
this.closeMethod = tieClass.getMethod("close");
diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java
index 1fc01b2627..105bb4a553 100644
--- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProvider.java
@@ -52,13 +52,14 @@ public class SpringImplementationProvider implements ImplementationProvider {
ProxyFactory proxyService,
JavaPropertyValueObjectFactory propertyValueObjectFactory,
boolean annotationSupport,
- String versionSupported) {
+ String versionSupported,
+ boolean multipleContextSupport) {
super();
this.implementation = implementation;
this.component = component;
this.propertyValueObjectFactory = propertyValueObjectFactory;
- springContext = new SpringContextStub(component, implementation, proxyService, propertyValueObjectFactory, annotationSupport, versionSupported);
+ springContext = new SpringContextStub(component, implementation, proxyService, propertyValueObjectFactory, annotationSupport, versionSupported, multipleContextSupport);
} // end constructor
diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java
index 4796aa0de9..e0d31203bc 100644
--- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/invocation/SpringImplementationProviderFactory.java
@@ -41,6 +41,7 @@ public class SpringImplementationProviderFactory implements ImplementationProvid
private ConfigurationPropertiesExtensionPoint configProperties;
private boolean annotationSupport;
private String versionSupported;
+ private boolean multipleContextSupport;
/**
* Simple constructor
@@ -58,6 +59,7 @@ public class SpringImplementationProviderFactory implements ImplementationProvid
}
annotationSupport = configProperties.isAnnotationSupported();
versionSupported = configProperties.getSupportedVersion();
+ multipleContextSupport = configProperties.isMultipleContextSupported();
// TODO: could the runtime have a default PropertyValueObjectFactory?
propertyFactory = new JavaPropertyValueObjectFactory(new MediatorImpl(extensionPoints));
@@ -77,7 +79,8 @@ public class SpringImplementationProviderFactory implements ImplementationProvid
proxyFactory,
propertyFactory,
annotationSupport,
- versionSupported);
+ versionSupported,
+ multipleContextSupport);
}
/**
diff --git a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringImplementationProcessor.java b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringImplementationProcessor.java
index 1d941e2a4f..29dc0a38a1 100644
--- a/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringImplementationProcessor.java
+++ b/branches/sca-java-1.x/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringImplementationProcessor.java
@@ -39,11 +39,13 @@ import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
import org.apache.tuscany.sca.implementation.spring.SpringImplementation;
import org.apache.tuscany.sca.implementation.spring.introspect.SpringXMLComponentTypeLoader;
+import org.apache.tuscany.sca.implementation.spring.invocation.ConfigurationPropertiesExtensionPoint;
+import org.apache.tuscany.sca.implementation.spring.invocation.DefaultConfigurationPropertiesExtensionPoint;
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.monitor.Problem.Severity;
-import org.apache.tuscany.sca.monitor.impl.ProblemImpl;
+import org.apache.tuscany.sca.monitor.impl.ProblemImpl;
import org.apache.tuscany.sca.policy.PolicyFactory;
/**
@@ -63,9 +65,11 @@ public class SpringImplementationProcessor implements StAXArtifactProcessor<Spri
private JavaInterfaceFactory javaFactory;
private PolicyFactory policyFactory;
private PolicyAttachPointProcessor policyProcessor;
+ private ConfigurationPropertiesExtensionPoint configProperties;
private Monitor monitor;
-
+
private ModelFactoryExtensionPoint factories;
+ private boolean multipleContextSupport;
public SpringImplementationProcessor(ExtensionPointRegistry extensionPoints, Monitor monitor) {
this.factories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
@@ -73,6 +77,12 @@ public class SpringImplementationProcessor implements StAXArtifactProcessor<Spri
this.javaFactory = factories.getFactory(JavaInterfaceFactory.class);
this.policyFactory = factories.getFactory(PolicyFactory.class);
this.policyProcessor = new PolicyAttachPointProcessor(policyFactory);
+
+ this.configProperties = extensionPoints.getExtensionPoint(ConfigurationPropertiesExtensionPoint.class);
+ if (configProperties == null) {
+ configProperties = new DefaultConfigurationPropertiesExtensionPoint();
+ }
+ this.multipleContextSupport = configProperties.isMultipleContextSupported();
this.monitor = monitor;
}
@@ -197,7 +207,7 @@ public class SpringImplementationProcessor implements StAXArtifactProcessor<Spri
/* Load the Spring component type by reading the Spring application context */
SpringXMLComponentTypeLoader springLoader =
- new SpringXMLComponentTypeLoader(factories, assemblyFactory, javaFactory, policyFactory);
+ new SpringXMLComponentTypeLoader(factories, assemblyFactory, javaFactory, policyFactory, multipleContextSupport);
try {
// Load the Spring Implementation information from its application context file...
springLoader.load(springImplementation, resolver);
diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/store.html b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/store.html
index 95b0d10a15..fc6375b547 100644
--- a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/store.html
+++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/store.html
@@ -1,127 +1,127 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<html>
-<head>
-<title>Store</TITLE>
-
-<!-- one js include per sca component -->
-<script type="text/javascript" src="store.js"></script>
-
-<script language="JavaScript">
-
- //@Reference
- var catalog = new tuscany.sca.Reference("Catalog");
-
- //@Reference
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<html>
+<head>
+<title>Store</TITLE>
+
+<!-- one js include per sca component -->
+<script type="text/javascript" src="store.js"></script>
+
+<script language="JavaScript">
+
+ //@Reference
+ var catalog = new tuscany.sca.Reference("Catalog");
+
+ //@Reference
var shoppingCart = new tuscany.sca.Reference("ShoppingCart");
//@Property
- var locale = Property("locale");
-
- function catalog_getResponse(items,exception) {
- if(exception){
- alert(exception.message);
- return;
- }
- var catalog = "";
- for (var i=0; i<items.length; i++)
- catalog += '<input name="items" type="checkbox" value="' +
- items[i] + '">' + items[i]+ ' <br>';
- document.getElementById('catalog').innerHTML=catalog;
- }
-
- function shoppingCart_getResponse(feed) {
- if (feed != null) {
- var entries = feed.getElementsByTagName("entry");
- var list = "";
- for (var i=0; i<entries.length; i++) {
- var item = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
- list += item + ' <br>';
- }
- document.getElementById("shoppingCart").innerHTML = list;
- document.getElementById('total').innerHTML = feed.getElementsByTagName("subtitle")[0].firstChild.nodeValue;
- }
- }
- function shoppingCart_postResponse(entry) {
- shoppingCart.get("", shoppingCart_getResponse);
- }
-
-
- function addToCart() {
- var items = document.catalogForm.items;
- var j = 0;
- for (var i=0; i<items.length; i++)
- if (items[i].checked) {
- var entry = '<entry xmlns="http://www.w3.org/2005/Atom"><title>cart-item</title><content type="text">'+items[i].value+'</content></entry>'
- shoppingCart.post(entry, shoppingCart_postResponse);
- items[i].checked = false;
- }
- }
- function checkoutCart() {
- document.getElementById('store').innerHTML='<h2>' +
- 'Thanks for Shopping With Us!</h2>'+
- '<h2>Your Order</h2>'+
- '<form name="orderForm" action="/ufs/store.html">'+
- document.getElementById('shoppingCart').innerHTML+
- '<br>'+
- document.getElementById('total').innerHTML+
- '<br>'+
- '<br>'+
- '<input type="submit" value="Continue Shopping">'+
- '</form>';
- shoppingCart.del("", null);
- }
- function deleteCart() {
- shoppingCart.del("", null);
- document.getElementById('shoppingCart').innerHTML = "";
- document.getElementById('total').innerHTML = "";
- }
+ var locale = Property("locale");
+
+ function catalog_getResponse(items,exception) {
+ if(exception){
+ alert(exception.message);
+ return;
+ }
+ var catalog = "";
+ for (var i=0; i<items.length; i++)
+ catalog += '<input name="items" type="checkbox" value="' +
+ items[i] + '">' + items[i]+ ' <br>';
+ document.getElementById('catalog').innerHTML=catalog;
+ }
+
+ function shoppingCart_getResponse(feed) {
+ if (feed != null) {
+ var entries = feed.getElementsByTagName("entry");
+ var list = "";
+ for (var i=0; i<entries.length; i++) {
+ var item = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
+ list += item + ' <br>';
+ }
+ document.getElementById("shoppingCart").innerHTML = list;
+ document.getElementById('total').innerHTML = feed.getElementsByTagName("subtitle")[0].firstChild.nodeValue;
+ }
+ }
+ function shoppingCart_postResponse(entry) {
+ shoppingCart.get("", shoppingCart_getResponse);
+ }
+
+
+ function addToCart() {
+ var items = document.catalogForm.items;
+ var j = 0;
+ for (var i=0; i<items.length; i++)
+ if (items[i].checked) {
+ var entry = '<entry xmlns="http://www.w3.org/2005/Atom"><title>cart-item</title><content type="text">'+items[i].value+'</content></entry>'
+ shoppingCart.post(entry, shoppingCart_postResponse);
+ items[i].checked = false;
+ }
+ }
+ function checkoutCart() {
+ document.getElementById('store').innerHTML='<h2>' +
+ 'Thanks for Shopping With Us!</h2>'+
+ '<h2>Your Order</h2>'+
+ '<form name="orderForm" action="/ufs/store.html">'+
+ document.getElementById('shoppingCart').innerHTML+
+ '<br>'+
+ document.getElementById('total').innerHTML+
+ '<br>'+
+ '<br>'+
+ '<input type="submit" value="Continue Shopping">'+
+ '</form>';
+ shoppingCart.del("", null);
+ }
+ function deleteCart() {
+ shoppingCart.del("", null);
+ document.getElementById('shoppingCart').innerHTML = "";
+ document.getElementById('total').innerHTML = "";
+ }
+
+ //alert(locale);
+ catalog.get(catalog_getResponse);
+ shoppingCart.get("", shoppingCart_getResponse);
+</script>
+
+</head>
- //alert(locale);
- catalog.get(catalog_getResponse);
- shoppingCart.get("", shoppingCart_getResponse);
-</script>
-
-</head>
-
-<body>
-<h1>Store</h1>
- <div id="store">
- <h2>Catalog</h2>
- <form name="catalogForm">
- <div id="catalog" ></div>
- <br>
- <input type="button" onClick="addToCart()" value="Add to Cart">
- </form>
-
- <br>
-
- <h2>Your Shopping Cart</h2>
- <form name="shoppingCartForm">
- <div id="shoppingCart"></div>
- <br>
- <div id="total"></div>
- <br>
- <input type="button" onClick="checkoutCart()" value="Checkout">
- <input type="button" onClick="deleteCart()" value="Empty">
- <a href="../ShoppingCart/">(feed)</a>
- </form>
- </div>
-</body>
+<body>
+<h1>Store</h1>
+ <div id="store">
+ <h2>Catalog</h2>
+ <form name="catalogForm">
+ <div id="catalog" ></div>
+ <br>
+ <input type="button" onClick="addToCart()" value="Add to Cart">
+ </form>
+
+ <br>
+
+ <h2>Your Shopping Cart</h2>
+ <form name="shoppingCartForm">
+ <div id="shoppingCart"></div>
+ <br>
+ <div id="total"></div>
+ <br>
+ <input type="button" onClick="checkoutCart()" value="Checkout">
+ <input type="button" onClick="deleteCart()" value="Empty">
+ <a href="../ShoppingCart/">(feed)</a>
+ </form>
+ </div>
+</body>
</html>
diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/storeJS.html b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/storeJS.html
index 2e3d76d9a3..c8026f8b24 100644
--- a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/storeJS.html
+++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/storeJS.html
@@ -1,152 +1,152 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<html>
-<head>
-<title>Store</TITLE>
-
-<!-- one js include per sca component -->
-<!-- For Atom, the Tuscany JavaScript client includes the model for Atom.
- Using this JavaScript model, users can use syntax such as:
- item += "name=" + entry.getName() + ", price=" + entry.getContent()
- rather than
- item += entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
- -->
-<script type="text/javascript" src="storeJS.js"></script>
-
-<script language="JavaScript">
-
- //@Reference
- var catalog = new tuscany.sca.Reference("Catalog");
-
- //@Reference
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<html>
+<head>
+<title>Store</TITLE>
+
+<!-- one js include per sca component -->
+<!-- For Atom, the Tuscany JavaScript client includes the model for Atom.
+ Using this JavaScript model, users can use syntax such as:
+ item += "name=" + entry.getName() + ", price=" + entry.getContent()
+ rather than
+ item += entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
+ -->
+<script type="text/javascript" src="storeJS.js"></script>
+
+<script language="JavaScript">
+
+ //@Reference
+ var catalog = new tuscany.sca.Reference("Catalog");
+
+ //@Reference
var shoppingCart = new tuscany.sca.Reference("ShoppingCart");
//@Property
- var locale = Property("locale");
-
- function catalog_getResponse(items,exception) {
- if(exception){
- alert(exception.message);
- return;
- }
- var catalog = "";
- for (var i=0; i<items.length; i++)
- catalog += '<input name="items" type="checkbox" value="' +
- items[i] + '">' + items[i]+ ' <br>';
- document.getElementById('catalog').innerHTML=catalog;
- }
-
- function shoppingCart_getResponse(feedDoc) {
- // var xmlString = new XMLSerializer().serializeToString(feedDoc);
- // alert("shoppingCart_getResponse feed xml=" + xmlString);
- var feed = new Feed( feedDoc );
-
- if (feed != null) {
- // var entries = feed.getElementsByTagName("entry");
- var entries = feed.getEntries();
- var list = "";
- for (var i=0; i<entries.length; i++) {
- // var item = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
- var item = entries[ i ].getContent().getText();
- list += item + ' <br>';
- }
- document.getElementById("shoppingCart").innerHTML = list;
- // document.getElementById('total').innerHTML = feed.getElementsByTagName("subtitle")[0].firstChild.nodeValue;
- var text = feed.getSubtitle().getText();
- document.getElementById('total').innerHTML = text;
- }
- }
-
- function shoppingCart_postResponse(entry) {
- shoppingCart.get("", shoppingCart_getResponse);
- }
-
- function addToCart() {
- var items = document.catalogForm.items;
- var j = 0;
- for (var i=0; i<items.length; i++)
- if (items[i].checked) {
- var entry = new Entry( "cart-item" );
- entry.setContent( items[i].value );
- var entryXML = entry.toXML();
- var entry = '<entry xmlns="http://www.w3.org/2005/Atom"><title>cart-item</title><content type="text">'+items[i].value+'</content></entry>'
- shoppingCart.post(entry, shoppingCart_postResponse);
- items[i].checked = false;
- }
- }
-
- function checkoutCart() {
- document.getElementById('store').innerHTML='<h2>' +
- 'Thanks for Shopping With Us!</h2>'+
- '<h2>Your Order</h2>'+
- '<form name="orderForm" action="/ufs/store.html">'+
- document.getElementById('shoppingCart').innerHTML+
- '<br>'+
- document.getElementById('total').innerHTML+
- '<br>'+
- '<br>'+
- '<input type="submit" value="Continue Shopping">'+
- '</form>';
- shoppingCart.del("", null);
- }
- function deleteCart() {
- shoppingCart.del("", null);
- document.getElementById('shoppingCart').innerHTML = "";
- document.getElementById('total').innerHTML = "";
- }
- function testFeedtoXML() {
- if(exception){
- alert(exception.message);
- return;
- }
- document.getElementById('results').innerHTML = text;
- }
-
- //alert(locale);
- catalog.get(catalog_getResponse);
- shoppingCart.get("", shoppingCart_getResponse);
-</script>
-
-</head>
-
-<body>
-<h1>Store</h1>
- <div id="store">
- <h2>Catalog</h2>
- <form name="catalogForm">
- <div id="catalog" ></div>
- <br>
- <input type="button" onClick="addToCart()" value="Add to Cart">
- </form>
-
- <br>
-
- <h2>Your Shopping Cart</h2>
- <form name="shoppingCartForm">
- <div id="shoppingCart"></div>
- <br>
- <div id="total"></div>
- <br>
- <input type="button" onClick="checkoutCart()" value="Checkout">
- <input type="button" onClick="deleteCart()" value="Empty">
- <a href="../ShoppingCart/">(feed)</a>
- </form>
- </div>
-</body>
+ var locale = Property("locale");
+
+ function catalog_getResponse(items,exception) {
+ if(exception){
+ alert(exception.message);
+ return;
+ }
+ var catalog = "";
+ for (var i=0; i<items.length; i++)
+ catalog += '<input name="items" type="checkbox" value="' +
+ items[i] + '">' + items[i]+ ' <br>';
+ document.getElementById('catalog').innerHTML=catalog;
+ }
+
+ function shoppingCart_getResponse(feedDoc) {
+ // var xmlString = new XMLSerializer().serializeToString(feedDoc);
+ // alert("shoppingCart_getResponse feed xml=" + xmlString);
+ var feed = new Feed( feedDoc );
+
+ if (feed != null) {
+ // var entries = feed.getElementsByTagName("entry");
+ var entries = feed.getEntries();
+ var list = "";
+ for (var i=0; i<entries.length; i++) {
+ // var item = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
+ var item = entries[ i ].getContent().getText();
+ list += item + ' <br>';
+ }
+ document.getElementById("shoppingCart").innerHTML = list;
+ // document.getElementById('total').innerHTML = feed.getElementsByTagName("subtitle")[0].firstChild.nodeValue;
+ var text = feed.getSubtitle().getText();
+ document.getElementById('total').innerHTML = text;
+ }
+ }
+
+ function shoppingCart_postResponse(entry) {
+ shoppingCart.get("", shoppingCart_getResponse);
+ }
+
+ function addToCart() {
+ var items = document.catalogForm.items;
+ var j = 0;
+ for (var i=0; i<items.length; i++)
+ if (items[i].checked) {
+ var entry = new Entry( "cart-item" );
+ entry.setContent( items[i].value );
+ var entryXML = entry.toXML();
+ var entry = '<entry xmlns="http://www.w3.org/2005/Atom"><title>cart-item</title><content type="text">'+items[i].value+'</content></entry>'
+ shoppingCart.post(entry, shoppingCart_postResponse);
+ items[i].checked = false;
+ }
+ }
+
+ function checkoutCart() {
+ document.getElementById('store').innerHTML='<h2>' +
+ 'Thanks for Shopping With Us!</h2>'+
+ '<h2>Your Order</h2>'+
+ '<form name="orderForm" action="/ufs/store.html">'+
+ document.getElementById('shoppingCart').innerHTML+
+ '<br>'+
+ document.getElementById('total').innerHTML+
+ '<br>'+
+ '<br>'+
+ '<input type="submit" value="Continue Shopping">'+
+ '</form>';
+ shoppingCart.del("", null);
+ }
+ function deleteCart() {
+ shoppingCart.del("", null);
+ document.getElementById('shoppingCart').innerHTML = "";
+ document.getElementById('total').innerHTML = "";
+ }
+ function testFeedtoXML() {
+ if(exception){
+ alert(exception.message);
+ return;
+ }
+ document.getElementById('results').innerHTML = text;
+ }
+
+ //alert(locale);
+ catalog.get(catalog_getResponse);
+ shoppingCart.get("", shoppingCart_getResponse);
+</script>
+
+</head>
+
+<body>
+<h1>Store</h1>
+ <div id="store">
+ <h2>Catalog</h2>
+ <form name="catalogForm">
+ <div id="catalog" ></div>
+ <br>
+ <input type="button" onClick="addToCart()" value="Add to Cart">
+ </form>
+
+ <br>
+
+ <h2>Your Shopping Cart</h2>
+ <form name="shoppingCartForm">
+ <div id="shoppingCart"></div>
+ <br>
+ <div id="total"></div>
+ <br>
+ <input type="button" onClick="checkoutCart()" value="Checkout">
+ <input type="button" onClick="deleteCart()" value="Empty">
+ <a href="../ShoppingCart/">(feed)</a>
+ </form>
+ </div>
+</body>
</html>
diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/unitTests.html b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/unitTests.html
index 352dd85508..14ead9f467 100644
--- a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/unitTests.html
+++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/unitTests.html
@@ -1,250 +1,250 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<html>
-<head>
-<title>Atom JavaScript Client Unit Tests</title>
-
-<!-- Include Tuscany JavaScript client model for Atom.
- Using this JavaScript model, users can use syntax such as:
- item += "name=" + entry.getName() + ", price=" + entry.getContent()
- rather than
- item += entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
- -->
-<script type="text/javascript" src="atomModel.js"></script>
-
-<script language="JavaScript">
-
- function testUritoXML() {
- var test = new Uri( "http://example.org/edit/first-post.atom" );
- var text = text.toXML();
- alert( "Uri=" + text );
- }
-
- function testEmailtoXML() {
- var test = new Email( "john.doe@ibm.com" );
- var text = test.toXML();
- alert( "Email=" + text );
- }
-
- function testIdtoXML() {
- var test = new Id( "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a" );
- var text = test.toXML();
- alert( "Id=" + text );
- }
-
- function testLogotoXML() {
- var test = new Logo( "goofyGraphic.png" );
- var text = test.toXML();
- alert( "Logo=" + text );
- document.getElementById('results').innerHTML = removeBrackets( text );
- }
-
- function testTexttoXML() {
- var test = new Text( "This is ordinary text." );
- var text = test.toXML();
- alert( "Text=" + text );
- var test = new Text( "This is <b>HTML</b> text.", "html" );
- var text = test.toXML( "supertext" );
- alert( "Text=" + text );
- document.getElementById('results').innerHTML = removeBrackets( text );
- }
-
- function testPersontoXML() {
- var test = new Person( "John Doe", "john.doe@ibm.com" );
- var text = test.toXML();
- alert( "Person=" + text );
- document.getElementById('results').innerHTML = removeBrackets( text );
- }
-
- function testGeneratortoXML() {
- var test = new Generator( "Power Station", "http://www.powerstation.com" );
- var text = test.toXML();
- alert( "Generator=" + text );
- document.getElementById('results').innerHTML = removeBrackets( text );
- }
-
- function testCategorytoXML() {
- var test = new Category( "CategoryXYZ", "http://www.site.com/?category=CategoryXYZ" );
- var text = test.toXML();
- alert( "Category=" + text );
- document.getElementById('results').innerHTML = removeBrackets( text );
- }
-
- function testLinktoXML() {
- var test = new Link( "http://example.org/edit/first-post.atom", "edit" );
- var text = test.toXML();
- alert( "Link=" + text );
- document.getElementById('results').innerHTML = removeBrackets( text );
- }
-
- function testEntrytoXML() {
- // <?xml version="1.0"?>
- // <entry xmlns="http://www.w3.org/2005/Atom">
- // <title>Atom-Powered Robots Run Amok</title>
- // <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
- // <updated>2003-12-13T18:30:02Z</updated>
- // <author><name>John Doe</name></author>
- // <content>Some text.</content>
- // <link rel="edit" href="http://example.org/edit/first-post.atom"/>
- // </entry>
-
- var entry = new Entry();
- entry.setNamespace( "http://www.w3.org/2005/Atom" );
- entry.setTitle( "Atom-Powered Robots Run Amok" );
- entry.setId( "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a" );
- entry.setUpdated( "2003-12-13T18:30:02Z" );
- entry.setContent( "Some text." );
- entry.addAuthor( new Person( "John Doe" ) );
- entry.addAuthor( new Person( "Mark Pilgrim", "f8dy@example.com" ));
- entry.addContributor( new Person( "Sam Ruby" ));
- entry.addContributor( new Person( "Joe Gregorio" ));
- entry.addLink( new Link( "http://example.org/edit/first-post.atom", "edit" ));
- var text = entry.toXML();
-
- document.getElementById('results').innerHTML = removeBrackets( text );
- }
-
- function testFeedtoXML() {
- // <feed xmlns="http://www.w3.org/2005/Atom">
- // <title type="text">dive into mark</title>
- // <subtitle type="html">A &lt;em&gt;lot&lt;/em&gt; of effort went into making this effortless </subtitle>
- // <updated>2005-07-31T12:29:29Z</updated>
- // <id>tag:example.org,2003:3</id>
- // <link rel="alternate" type="text/html" hreflang="en" href="http://example.org/"/>
- // <link rel="self" type="application/atom+xml" href="http://example.org/feed.atom"/>
- // <rights>Copyright (c) 2003, Mark Pilgrim</rights>
- // <generator uri="http://www.example.com/" version="1.0">Example Toolkit</generator>
- // <entry>
- // <title>Atom draft-07 snapshot</title>
- // <link rel="alternate" type="text/html" href="http://example.org/2005/04/02/atom"/>
- // <link rel="enclosure" type="audio/mpeg" length="1337" href="http://example.org/audio/ph34r_my_podcast.mp3"/>
- // <id>tag:example.org,2003:3.2397</id>
- // <updated>2005-07-31T12:29:29Z</updated>
- // <published>2003-12-13T08:29:29-04:00</published>
- // <author><name>Mark Pilgrim</name><uri>http://example.org/</uri><email>f8dy@example.com</email></author>
- // <contributor><name>Sam Ruby</name></contributor>
- // <contributor><name>Joe Gregorio</name></contributor>
- // <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
- // <div xmlns="http://www.w3.org/1999/xhtml">
- // <p><i>[Update: The Atom draft is finished.]</i></p>
- // </div>
- // </content>
- // </entry>
- // <entry>
- // <title>Dan Becker's Triathlon Site - Best Hills In Austin</title>
- // <category term="triathlons"/>
- // <id>tag:www.io.com,2008-09-05:/~beckerdo/triathlons/besthills.html</id>
- // <link href="http://www.io.com/~beckerdo/triathlons/besthills.html"/>
- // <published>2008-09-05T14:09:32-05:00</published>
- // <updated>2008-09-06T08:49:12-05:00</updated>
- // <summary type='html'>
- // &lt;a href='http://www.io.com/~beckerdo/triathlons/besthills.html'&gt;&lt;img src='http://www.io.com/~beckerdo/pictures/LittleDan25.png' width='25' height='25' alt='Little Dan' align='left'&gt;&lt;/a&gt;
- // A description and Google maps of the best running and biking hills in Austin, Texas.
- // </summary>
- // </entry>
- // </feed>
-
- var feed = new Feed( "Dive into Mark" );
- feed.setSubtitle( new Text( "A &lt;em&gt;lot&lt;/em&gt; of effort went into making this effortless", "html" ));
- feed.setUpdated( "2005-07-31T12:29:29Z" );
- feed.setId( "tag:example.org,2003:3" );
- var link = new Link( "http://example.org", "alternate" );
- link.setMimeType( "text/html" );
- link.setHRefLang( "en" );
- feed.addLink( link );
- feed.addLink( new Link( "http://example.org/feed.atom", "self" ));
- feed.setRights( "Copyright (c) 2003, Mark Pilgrim" );
- feed.setGenerator( new Generator( "Example Toolkit", "http://www.example.com/" ));
- feed.addAuthor( new Person( "Mark Pilgrim", "f8dy@example.com" ));
- feed.addContributor( new Person( "Sam Ruby" ));
- feed.addContributor( new Person( "Joe Gregorio" ));
- // <entry>
- // <title>Atom draft-07 snapshot</title>
- // <link rel="alternate" type="text/html" href="http://example.org/2005/04/02/atom"/>
- // <link rel="enclosure" type="audio/mpeg" length="1337" href="http://example.org/audio/ph34r_my_podcast.mp3"/>
- // <id>tag:example.org,2003:3.2397</id>
- // <updated>2005-07-31T12:29:29Z</updated>
- // <published>2003-12-13T08:29:29-04:00</published>
- // <author><name>Mark Pilgrim</name><uri>http://example.org/</uri><email>f8dy@example.com</email></author>
- // <contributor><name>Sam Ruby</name></contributor>
- // <contributor><name>Joe Gregorio</name></contributor>
- // <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
- // <div xmlns="http://www.w3.org/1999/xhtml">
- // <p><i>[Update: The Atom draft is finished.]</i></p>
- // </div>
- // </content>
- // </entry>
- // <entry>
- // <title>Dan Becker's Triathlon Site - Best Hills In Austin</title>
- // <category term="triathlons"/>
- // <id>tag:www.io.com,2008-09-05:/~beckerdo/triathlons/besthills.html</id>
- // <link href="http://www.io.com/~beckerdo/triathlons/besthills.html"/>
- // <published>2008-09-05T14:09:32-05:00</published>
- // <updated>2008-09-06T08:49:12-05:00</updated>
- // <summary type='html'>
- // &lt;a href='http://www.io.com/~beckerdo/triathlons/besthills.html'&gt;&lt;img src='http://www.io.com/~beckerdo/pictures/LittleDan25.png' width='25' height='25' alt='Little Dan' align='left'&gt;&lt;/a&gt;
- // A description and Google maps of the best running and biking hills in Austin, Texas.
- // </summary>
- // </entry>
- // </feed>
- var entry = new Entry( "Dan Becker's Triathlon Site - Best Hills In Austin" );
- entry.addCategory( new Category( "running" ));
- entry.addCategory( new Category( "triathlons" ));
- entry.setId( "tag:www.io.com,2008-09-05:/~beckerdo/triathlons/besthills.html" );
- entry.addLink( new Link ( "http://www.io.com/~beckerdo/triathlons/besthills.html" ));
- entry.setPublished( "2008-09-05T14:09:32-05:00" );
- entry.setUpdated( "2008-09-06T08:49:12-05:00" );
- entry.setSummary( new Text (
- "&lt;a href='http://www.io.com/~beckerdo/triathlons/besthills.html'&gt;&lt;img src='http://www.io.com/~beckerdo/pictures/LittleDan25.png' width='25' height='25' alt='Little Dan' align='left'&gt;&lt;/a&gt;\n" +
- "A description and Google maps of the best running and biking hills in Austin, Texas.", "html" ));
- feed.addEntry( entry );
-
- var text = feed.toXML();
- alert( "Feed xml=" + text );
- document.getElementById('results').innerHTML = removeBrackets( text );
- }
-
- function removeBrackets( input ) {
- input = input.replace( /</g, "&lt;" ); // replaceAll
- input = input.replace( />/g, "&gt;" ); // replaceAll
- return input;
- }
-</script>
-</head>
-
-<body>
-<h1>Atom JavaScript Client Unit Tests</h1>
-<p>This document tests the serialization and deserialization of the Atom JavaScript client.
- <h2>Model to XML Tests</h2>
- <input type="button" onClick="testUritoXML()" value="Uri to XML"><br>
- <input type="button" onClick="testEmailtoXML()" value="Email to XML"><br>
- <input type="button" onClick="testIdtoXML()" value="Id to XML"><br>
- <input type="button" onClick="testLogotoXML()" value="Logo to XML"><br>
- <input type="button" onClick="testTexttoXML()" value="Text to XML"><br>
- <input type="button" onClick="testPersontoXML()" value="Person to XML"><br>
- <input type="button" onClick="testGeneratortoXML()" value="Generator to XML"><br>
- <input type="button" onClick="testCategorytoXML()" value="Category to XML"><br>
- <input type="button" onClick="testLinktoXML()" value="Link to XML"><br>
- <input type="button" onClick="testEntrytoXML()" value="Entry to XML"><br>
- <input type="button" onClick="testFeedtoXML()" value="Feed to XML"><br>
- <h2>Results</h2>
- <code id="results">
- </code>
-</body>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<html>
+<head>
+<title>Atom JavaScript Client Unit Tests</title>
+
+<!-- Include Tuscany JavaScript client model for Atom.
+ Using this JavaScript model, users can use syntax such as:
+ item += "name=" + entry.getName() + ", price=" + entry.getContent()
+ rather than
+ item += entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
+ -->
+<script type="text/javascript" src="atomModel.js"></script>
+
+<script language="JavaScript">
+
+ function testUritoXML() {
+ var test = new Uri( "http://example.org/edit/first-post.atom" );
+ var text = text.toXML();
+ alert( "Uri=" + text );
+ }
+
+ function testEmailtoXML() {
+ var test = new Email( "john.doe@ibm.com" );
+ var text = test.toXML();
+ alert( "Email=" + text );
+ }
+
+ function testIdtoXML() {
+ var test = new Id( "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a" );
+ var text = test.toXML();
+ alert( "Id=" + text );
+ }
+
+ function testLogotoXML() {
+ var test = new Logo( "goofyGraphic.png" );
+ var text = test.toXML();
+ alert( "Logo=" + text );
+ document.getElementById('results').innerHTML = removeBrackets( text );
+ }
+
+ function testTexttoXML() {
+ var test = new Text( "This is ordinary text." );
+ var text = test.toXML();
+ alert( "Text=" + text );
+ var test = new Text( "This is <b>HTML</b> text.", "html" );
+ var text = test.toXML( "supertext" );
+ alert( "Text=" + text );
+ document.getElementById('results').innerHTML = removeBrackets( text );
+ }
+
+ function testPersontoXML() {
+ var test = new Person( "John Doe", "john.doe@ibm.com" );
+ var text = test.toXML();
+ alert( "Person=" + text );
+ document.getElementById('results').innerHTML = removeBrackets( text );
+ }
+
+ function testGeneratortoXML() {
+ var test = new Generator( "Power Station", "http://www.powerstation.com" );
+ var text = test.toXML();
+ alert( "Generator=" + text );
+ document.getElementById('results').innerHTML = removeBrackets( text );
+ }
+
+ function testCategorytoXML() {
+ var test = new Category( "CategoryXYZ", "http://www.site.com/?category=CategoryXYZ" );
+ var text = test.toXML();
+ alert( "Category=" + text );
+ document.getElementById('results').innerHTML = removeBrackets( text );
+ }
+
+ function testLinktoXML() {
+ var test = new Link( "http://example.org/edit/first-post.atom", "edit" );
+ var text = test.toXML();
+ alert( "Link=" + text );
+ document.getElementById('results').innerHTML = removeBrackets( text );
+ }
+
+ function testEntrytoXML() {
+ // <?xml version="1.0"?>
+ // <entry xmlns="http://www.w3.org/2005/Atom">
+ // <title>Atom-Powered Robots Run Amok</title>
+ // <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
+ // <updated>2003-12-13T18:30:02Z</updated>
+ // <author><name>John Doe</name></author>
+ // <content>Some text.</content>
+ // <link rel="edit" href="http://example.org/edit/first-post.atom"/>
+ // </entry>
+
+ var entry = new Entry();
+ entry.setNamespace( "http://www.w3.org/2005/Atom" );
+ entry.setTitle( "Atom-Powered Robots Run Amok" );
+ entry.setId( "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a" );
+ entry.setUpdated( "2003-12-13T18:30:02Z" );
+ entry.setContent( "Some text." );
+ entry.addAuthor( new Person( "John Doe" ) );
+ entry.addAuthor( new Person( "Mark Pilgrim", "f8dy@example.com" ));
+ entry.addContributor( new Person( "Sam Ruby" ));
+ entry.addContributor( new Person( "Joe Gregorio" ));
+ entry.addLink( new Link( "http://example.org/edit/first-post.atom", "edit" ));
+ var text = entry.toXML();
+
+ document.getElementById('results').innerHTML = removeBrackets( text );
+ }
+
+ function testFeedtoXML() {
+ // <feed xmlns="http://www.w3.org/2005/Atom">
+ // <title type="text">dive into mark</title>
+ // <subtitle type="html">A &lt;em&gt;lot&lt;/em&gt; of effort went into making this effortless </subtitle>
+ // <updated>2005-07-31T12:29:29Z</updated>
+ // <id>tag:example.org,2003:3</id>
+ // <link rel="alternate" type="text/html" hreflang="en" href="http://example.org/"/>
+ // <link rel="self" type="application/atom+xml" href="http://example.org/feed.atom"/>
+ // <rights>Copyright (c) 2003, Mark Pilgrim</rights>
+ // <generator uri="http://www.example.com/" version="1.0">Example Toolkit</generator>
+ // <entry>
+ // <title>Atom draft-07 snapshot</title>
+ // <link rel="alternate" type="text/html" href="http://example.org/2005/04/02/atom"/>
+ // <link rel="enclosure" type="audio/mpeg" length="1337" href="http://example.org/audio/ph34r_my_podcast.mp3"/>
+ // <id>tag:example.org,2003:3.2397</id>
+ // <updated>2005-07-31T12:29:29Z</updated>
+ // <published>2003-12-13T08:29:29-04:00</published>
+ // <author><name>Mark Pilgrim</name><uri>http://example.org/</uri><email>f8dy@example.com</email></author>
+ // <contributor><name>Sam Ruby</name></contributor>
+ // <contributor><name>Joe Gregorio</name></contributor>
+ // <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
+ // <div xmlns="http://www.w3.org/1999/xhtml">
+ // <p><i>[Update: The Atom draft is finished.]</i></p>
+ // </div>
+ // </content>
+ // </entry>
+ // <entry>
+ // <title>Dan Becker's Triathlon Site - Best Hills In Austin</title>
+ // <category term="triathlons"/>
+ // <id>tag:www.io.com,2008-09-05:/~beckerdo/triathlons/besthills.html</id>
+ // <link href="http://www.io.com/~beckerdo/triathlons/besthills.html"/>
+ // <published>2008-09-05T14:09:32-05:00</published>
+ // <updated>2008-09-06T08:49:12-05:00</updated>
+ // <summary type='html'>
+ // &lt;a href='http://www.io.com/~beckerdo/triathlons/besthills.html'&gt;&lt;img src='http://www.io.com/~beckerdo/pictures/LittleDan25.png' width='25' height='25' alt='Little Dan' align='left'&gt;&lt;/a&gt;
+ // A description and Google maps of the best running and biking hills in Austin, Texas.
+ // </summary>
+ // </entry>
+ // </feed>
+
+ var feed = new Feed( "Dive into Mark" );
+ feed.setSubtitle( new Text( "A &lt;em&gt;lot&lt;/em&gt; of effort went into making this effortless", "html" ));
+ feed.setUpdated( "2005-07-31T12:29:29Z" );
+ feed.setId( "tag:example.org,2003:3" );
+ var link = new Link( "http://example.org", "alternate" );
+ link.setMimeType( "text/html" );
+ link.setHRefLang( "en" );
+ feed.addLink( link );
+ feed.addLink( new Link( "http://example.org/feed.atom", "self" ));
+ feed.setRights( "Copyright (c) 2003, Mark Pilgrim" );
+ feed.setGenerator( new Generator( "Example Toolkit", "http://www.example.com/" ));
+ feed.addAuthor( new Person( "Mark Pilgrim", "f8dy@example.com" ));
+ feed.addContributor( new Person( "Sam Ruby" ));
+ feed.addContributor( new Person( "Joe Gregorio" ));
+ // <entry>
+ // <title>Atom draft-07 snapshot</title>
+ // <link rel="alternate" type="text/html" href="http://example.org/2005/04/02/atom"/>
+ // <link rel="enclosure" type="audio/mpeg" length="1337" href="http://example.org/audio/ph34r_my_podcast.mp3"/>
+ // <id>tag:example.org,2003:3.2397</id>
+ // <updated>2005-07-31T12:29:29Z</updated>
+ // <published>2003-12-13T08:29:29-04:00</published>
+ // <author><name>Mark Pilgrim</name><uri>http://example.org/</uri><email>f8dy@example.com</email></author>
+ // <contributor><name>Sam Ruby</name></contributor>
+ // <contributor><name>Joe Gregorio</name></contributor>
+ // <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
+ // <div xmlns="http://www.w3.org/1999/xhtml">
+ // <p><i>[Update: The Atom draft is finished.]</i></p>
+ // </div>
+ // </content>
+ // </entry>
+ // <entry>
+ // <title>Dan Becker's Triathlon Site - Best Hills In Austin</title>
+ // <category term="triathlons"/>
+ // <id>tag:www.io.com,2008-09-05:/~beckerdo/triathlons/besthills.html</id>
+ // <link href="http://www.io.com/~beckerdo/triathlons/besthills.html"/>
+ // <published>2008-09-05T14:09:32-05:00</published>
+ // <updated>2008-09-06T08:49:12-05:00</updated>
+ // <summary type='html'>
+ // &lt;a href='http://www.io.com/~beckerdo/triathlons/besthills.html'&gt;&lt;img src='http://www.io.com/~beckerdo/pictures/LittleDan25.png' width='25' height='25' alt='Little Dan' align='left'&gt;&lt;/a&gt;
+ // A description and Google maps of the best running and biking hills in Austin, Texas.
+ // </summary>
+ // </entry>
+ // </feed>
+ var entry = new Entry( "Dan Becker's Triathlon Site - Best Hills In Austin" );
+ entry.addCategory( new Category( "running" ));
+ entry.addCategory( new Category( "triathlons" ));
+ entry.setId( "tag:www.io.com,2008-09-05:/~beckerdo/triathlons/besthills.html" );
+ entry.addLink( new Link ( "http://www.io.com/~beckerdo/triathlons/besthills.html" ));
+ entry.setPublished( "2008-09-05T14:09:32-05:00" );
+ entry.setUpdated( "2008-09-06T08:49:12-05:00" );
+ entry.setSummary( new Text (
+ "&lt;a href='http://www.io.com/~beckerdo/triathlons/besthills.html'&gt;&lt;img src='http://www.io.com/~beckerdo/pictures/LittleDan25.png' width='25' height='25' alt='Little Dan' align='left'&gt;&lt;/a&gt;\n" +
+ "A description and Google maps of the best running and biking hills in Austin, Texas.", "html" ));
+ feed.addEntry( entry );
+
+ var text = feed.toXML();
+ alert( "Feed xml=" + text );
+ document.getElementById('results').innerHTML = removeBrackets( text );
+ }
+
+ function removeBrackets( input ) {
+ input = input.replace( /</g, "&lt;" ); // replaceAll
+ input = input.replace( />/g, "&gt;" ); // replaceAll
+ return input;
+ }
+</script>
+</head>
+
+<body>
+<h1>Atom JavaScript Client Unit Tests</h1>
+<p>This document tests the serialization and deserialization of the Atom JavaScript client.
+ <h2>Model to XML Tests</h2>
+ <input type="button" onClick="testUritoXML()" value="Uri to XML"><br>
+ <input type="button" onClick="testEmailtoXML()" value="Email to XML"><br>
+ <input type="button" onClick="testIdtoXML()" value="Id to XML"><br>
+ <input type="button" onClick="testLogotoXML()" value="Logo to XML"><br>
+ <input type="button" onClick="testTexttoXML()" value="Text to XML"><br>
+ <input type="button" onClick="testPersontoXML()" value="Person to XML"><br>
+ <input type="button" onClick="testGeneratortoXML()" value="Generator to XML"><br>
+ <input type="button" onClick="testCategorytoXML()" value="Category to XML"><br>
+ <input type="button" onClick="testLinktoXML()" value="Link to XML"><br>
+ <input type="button" onClick="testEntrytoXML()" value="Entry to XML"><br>
+ <input type="button" onClick="testFeedtoXML()" value="Feed to XML"><br>
+ <h2>Results</h2>
+ <code id="results">
+ </code>
+</body>
</html>
diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widgetJS.composite b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widgetJS.composite
index e44a56e520..71c5a3350f 100644
--- a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widgetJS.composite
+++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widgetJS.composite
@@ -1,58 +1,58 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample/resource"
- xmlns:sr="http://sample/resource"
- name="resource">
-
- <component name="storeJS">
- <!-- Note: the store.html and storeJS.html clients are similar
- except that store.html edits the client document using JavaScript
- and many node queries, and storeJS.html uses the client Atom
- JavaScript mode (fewer node queries and less XML knowledge needed.-->
- <tuscany:implementation.widget location="content/storeJS.html"/>
- <property name="locale">en</property>
- <service name="Widget">
- <tuscany:binding.http uri="/storeJS"/>
- </service>
- <reference name="Catalog" target="Catalog">
- <tuscany:binding.jsonrpc uri="/Catalog"/>
- </reference>
- <reference name="ShoppingCart" target="ShoppingCart">
- <tuscany:binding.atom uri="/ShoppingCart"/>
- </reference>
- </component>
-
- <component name="Catalog">
- <implementation.java class="store.CatalogImpl"/>
- <service name="Catalog">
- <tuscany:binding.jsonrpc uri="/Catalog"/>
- </service>
- </component>
-
- <component name="ShoppingCart">
- <implementation.java class="store.ShoppingCartImpl"/>
- <service name="Collection">
- <tuscany:binding.atom uri="/ShoppingCart"/>
- </service>
- </component>
-
-</composite>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://sample/resource"
+ xmlns:sr="http://sample/resource"
+ name="resource">
+
+ <component name="storeJS">
+ <!-- Note: the store.html and storeJS.html clients are similar
+ except that store.html edits the client document using JavaScript
+ and many node queries, and storeJS.html uses the client Atom
+ JavaScript mode (fewer node queries and less XML knowledge needed.-->
+ <tuscany:implementation.widget location="content/storeJS.html"/>
+ <property name="locale">en</property>
+ <service name="Widget">
+ <tuscany:binding.http uri="/storeJS"/>
+ </service>
+ <reference name="Catalog" target="Catalog">
+ <tuscany:binding.jsonrpc uri="/Catalog"/>
+ </reference>
+ <reference name="ShoppingCart" target="ShoppingCart">
+ <tuscany:binding.atom uri="/ShoppingCart"/>
+ </reference>
+ </component>
+
+ <component name="Catalog">
+ <implementation.java class="store.CatalogImpl"/>
+ <service name="Catalog">
+ <tuscany:binding.jsonrpc uri="/Catalog"/>
+ </service>
+ </component>
+
+ <component name="ShoppingCart">
+ <implementation.java class="store.ShoppingCartImpl"/>
+ <service name="Collection">
+ <tuscany:binding.atom uri="/ShoppingCart"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java
index e18fc162b3..08f2fbe679 100644
--- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java
+++ b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java
@@ -90,7 +90,7 @@ class WidgetImplementationProvider implements ImplementationProvider {
WidgetComponentScriptServlet widgetScriptServlet;
widgetScriptServlet = new WidgetComponentScriptServlet(this.component, javaScriptGenerator);
servletHost.addServletMapping(scriptURI, widgetScriptServlet);
- }
+ }
}
public void stop() {
diff --git a/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java b/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java
index 9ca8c59e6c..3a3754f67d 100644
--- a/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java
+++ b/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java
@@ -19,7 +19,6 @@
package org.apache.tuscany.sca.implementation.widget;
-
/**
* Factory for the widget implementation model.
*
diff --git a/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java b/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java
index d54999a8b1..c0087e97fe 100644
--- a/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java
+++ b/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java
@@ -160,7 +160,7 @@ public class WidgetImplementationProcessor extends BaseStAXArtifactProcessor imp
}
public void write(WidgetImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
- // Write <implementation.widget>
+ // Write <implementation.widget>
writeStart(writer, IMPLEMENTATION_WIDGET.getNamespaceURI(), IMPLEMENTATION_WIDGET.getLocalPart());
if (implementation.getLocation() != null) {
diff --git a/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationFactoryImpl.java b/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationFactoryImpl.java
index 98feaedf00..c24c9e7eab 100644
--- a/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationFactoryImpl.java
+++ b/branches/sca-java-1.x/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationFactoryImpl.java
@@ -21,6 +21,7 @@ package org.apache.tuscany.sca.implementation.widget.impl;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.implementation.widget.WidgetImplementation;
import org.apache.tuscany.sca.implementation.widget.WidgetImplementationFactory;
import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
@@ -39,7 +40,7 @@ public class WidgetImplementationFactoryImpl implements WidgetImplementationFact
javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
}
- public WidgetImplementationImpl createWidgetImplementation() {
+ public WidgetImplementation createWidgetImplementation() {
return new WidgetImplementationImpl(assemblyFactory, javaFactory);
}
diff --git a/branches/sca-java-1.x/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java b/branches/sca-java-1.x/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java
index adb1224066..8245428d0f 100644
--- a/branches/sca-java-1.x/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java
+++ b/branches/sca-java-1.x/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java
@@ -30,6 +30,7 @@ import java.security.PrivilegedAction;
import javax.xml.namespace.QName;
import javax.xml.ws.WebFault;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
import org.apache.tuscany.sca.databinding.jaxb.XMLAdapterExtensionPoint;
import org.apache.tuscany.sca.interfacedef.DataType;
@@ -62,6 +63,11 @@ public class JAXWSFaultExceptionMapper implements FaultExceptionMapper {
this.dataBindingExtensionPoint = dataBindingExtensionPoint;
this.xmlAdapterExtensionPoint = xmlAdapters;
}
+
+ public JAXWSFaultExceptionMapper(ExtensionPointRegistry registry) {
+ this.dataBindingExtensionPoint = registry.getExtensionPoint(DataBindingExtensionPoint.class);
+ this.xmlAdapterExtensionPoint = registry.getExtensionPoint(XMLAdapterExtensionPoint.class);
+ }
/**
* The following is quoted from the JAX-WS Specification v2.1
@@ -394,9 +400,4 @@ public class JAXWSFaultExceptionMapper implements FaultExceptionMapper {
return Character.toUpperCase(name.charAt(0)) + name.substring(1);
}
}
-
- public void setDataBindingExtensionPoint(DataBindingExtensionPoint dataBindingExtensionPoint) {
- this.dataBindingExtensionPoint = dataBindingExtensionPoint;
- }
-
}
diff --git a/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java
index 8fa91a8e52..2065940c8d 100644
--- a/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java
+++ b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java
@@ -18,6 +18,7 @@
*/
package org.apache.tuscany.sca.interfacedef.impl;
+import java.lang.ref.WeakReference;
import java.lang.reflect.Type;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -43,8 +44,8 @@ import org.apache.tuscany.sca.interfacedef.DataType;
*/
public class DataTypeImpl<L> implements DataType<L> {
private String dataBinding;
- private Class<?> physical;
- private Type genericType;
+ private WeakReference<Class<?>> physical;
+ private WeakReference<Type> genericType;
private L logical;
private Map<Class<?>, Object> metaDataMap;
@@ -77,8 +78,8 @@ public class DataTypeImpl<L> implements DataType<L> {
public DataTypeImpl(String dataBinding, Class<?> physical, Type genericType, L logical) {
super();
this.dataBinding = dataBinding;
- this.physical = physical;
- this.genericType = genericType;
+ this.physical = new WeakReference<Class<?>>(physical);
+ this.genericType = new WeakReference<Type>(genericType);
this.logical = logical;
}
@@ -88,14 +89,14 @@ public class DataTypeImpl<L> implements DataType<L> {
* @return the physical type used by the runtime
*/
public Class<?> getPhysical() {
- return physical;
+ return physical.get();
}
/**
* @param physical the physical to set
*/
public void setPhysical(Class<?> physical) {
- this.physical = physical;
+ this.physical = new WeakReference<Class<?>>(physical);
}
/**
@@ -103,7 +104,7 @@ public class DataTypeImpl<L> implements DataType<L> {
* @return The java generic type
*/
public Type getGenericType() {
- return genericType;
+ return genericType.get();
}
/**
@@ -111,7 +112,7 @@ public class DataTypeImpl<L> implements DataType<L> {
* @param genericType
*/
public void setGenericType(Type genericType) {
- this.genericType = genericType;
+ this.genericType = new WeakReference<Type>(genericType);
}
/**
@@ -161,9 +162,9 @@ public class DataTypeImpl<L> implements DataType<L> {
final int prime = 31;
int result = 1;
result = prime * result + ((dataBinding == null) ? 0 : dataBinding.hashCode());
- result = prime * result + ((genericType == null) ? 0 : genericType.hashCode());
+ result = prime * result + ((genericType == null || genericType.get() == null) ? 0 : genericType.get().hashCode());
result = prime * result + ((logical == null) ? 0 : logical.hashCode());
- result = prime * result + ((physical == null) ? 0 : physical.hashCode());
+ result = prime * result + ((physical == null || physical.get() == null) ? 0 : physical.get().hashCode());
return result;
}
@@ -181,20 +182,20 @@ public class DataTypeImpl<L> implements DataType<L> {
return false;
} else if (!dataBinding.equals(other.dataBinding))
return false;
- if (genericType == null) {
+ if (genericType == null || genericType.get() == null) {
if (other.genericType != null)
return false;
- } else if (!genericType.equals(other.genericType))
+ } else if (!genericType.get().equals(other.genericType.get()))
return false;
if (logical == null) {
if (other.logical != null)
return false;
} else if (!logical.equals(other.logical))
return false;
- if (physical == null) {
+ if (physical == null || physical.get() == null) {
if (other.physical != null)
return false;
- } else if (!physical.equals(other.physical))
+ } else if (!physical.get().equals(other.physical.get()))
return false;
return true;
}
@@ -219,8 +220,8 @@ public class DataTypeImpl<L> implements DataType<L> {
StringBuilder b = new StringBuilder( 256 );
b.append( "DataType[" );
b.append( "dataBinding=" + ((dataBinding==null) ? "null" : dataBinding) );
- b.append( ", genericType=" + ((genericType==null) ? "null" : genericType) );
- b.append( ", physical=" + ((physical==null) ? "null" : physical) );
+ b.append( ", genericType=" + ((genericType==null || genericType.get()==null) ? "null" : genericType.get()) );
+ b.append( ", physical=" + ((physical==null || physical.get()==null) ? "null" : physical.get()) );
b.append( ", logical=" + ((logical==null) ? "null" : logical) );
b.append( ", metaData size=" + ((metaDataMap==null) ? "0" : metaDataMap.size()) );
b.append( "]" );
diff --git a/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java
index 149e6306e5..9aeeafe6b9 100644
--- a/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java
+++ b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java
@@ -209,8 +209,7 @@ public class InterfaceContractMapperImpl implements InterfaceContractMapper {
}
for (Operation operation : source.getCallbackInterface().getOperations()) {
- Operation targetOperation =
- getOperation(target.getCallbackInterface().getOperations(), operation.getName());
+ Operation targetOperation = map(target.getCallbackInterface(), operation);
if (targetOperation == null) {
if (!silent) {
throw new IncompatibleInterfaceContractException("Callback operation not found on target", source,
@@ -221,7 +220,7 @@ public class InterfaceContractMapperImpl implements InterfaceContractMapper {
}
if (!source.getCallbackInterface().isRemotable()) {
// FIXME: for remotable operation, only compare name for now
- if (!operation.equals(targetOperation)) {
+ if (!isCompatible(operation, targetOperation, false)) {
if (!silent) {
throw new IncompatibleInterfaceContractException("Target callback operation is not compatible",
source, target, operation, targetOperation);
diff --git a/branches/sca-java-1.x/modules/node-impl/pom.xml b/branches/sca-java-1.x/modules/node-impl/pom.xml
index e44586d6ec..0b9c502d5b 100644
--- a/branches/sca-java-1.x/modules/node-impl/pom.xml
+++ b/branches/sca-java-1.x/modules/node-impl/pom.xml
@@ -115,6 +115,13 @@
<version>1.6-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-endpoint</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
diff --git a/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java b/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java
index 9df2079d8c..4d78bf8dfe 100644
--- a/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java
+++ b/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java
@@ -109,6 +109,7 @@ public class RuntimeBootStrapper {
public void start() throws ActivationException {
long start = System.currentTimeMillis();
+ // Create our extension point registry
UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
// Get work scheduler
diff --git a/branches/sca-java-1.x/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java b/branches/sca-java-1.x/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java
index b5e77061d7..eb06ad7411 100644
--- a/branches/sca-java-1.x/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java
+++ b/branches/sca-java-1.x/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java
@@ -100,11 +100,9 @@ public class DomainManagerLauncher {
int k = 0;
try {
while ((k != 'q') && (k != 'r')) {
- // k = System.in.read();
- Thread.sleep(100);
-
+ k = System.in.read();
}
- } catch (Exception e) {
+ } catch (IOException e) {
// Wait forever
Object lock = new Object();
diff --git a/branches/sca-java-1.x/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyInterceptor.java b/branches/sca-java-1.x/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyInterceptor.java
index 3f1b15075f..58a6d21ee7 100644
--- a/branches/sca-java-1.x/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyInterceptor.java
+++ b/branches/sca-java-1.x/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyInterceptor.java
@@ -101,7 +101,7 @@ public class JDKLoggingPolicyInterceptor implements Interceptor {
}
Object[] logParams = new Object[] {operation.getName(), sb.toString()};
- logger.logp(Level.FINER, context, "", "Invoking operation {0} with arguments ({1})", logParams);
+ logger.logp(Level.FINER, context, "", "Invoking operation {0} with arguments {1}", logParams);
}
Message responseMsg = null;
@@ -115,7 +115,7 @@ public class JDKLoggingPolicyInterceptor implements Interceptor {
if (responseMsg != null) {
Object[] logParams = new Object[] {operation.getName(), responseMsg.getBody()};
logger.logp(Level.INFO, context, "", "Returned from operation - " + operation.getName());
- logger.logp(Level.FINER, context, "", "Returning from operation {0} with return value ({1})", logParams);
+ logger.logp(Level.FINER, context, "", "Returning from operation {0} with return value {1}", logParams);
}
}
}
diff --git a/branches/sca-java-1.x/modules/policy-security-http/LICENSE b/branches/sca-java-1.x/modules/policy-security-http/LICENSE
index 6e529a25c4..8aa906c321 100644
--- a/branches/sca-java-1.x/modules/policy-security-http/LICENSE
+++ b/branches/sca-java-1.x/modules/policy-security-http/LICENSE
@@ -1,205 +1,205 @@
-
- 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 License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
diff --git a/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationCallbackHandler.java b/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationCallbackHandler.java
index 6c5c2df2e5..ee094f022d 100644
--- a/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationCallbackHandler.java
+++ b/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationCallbackHandler.java
@@ -46,7 +46,7 @@ public class LDAPRealmAuthenticationCallbackHandler implements CallbackHandler {
BasicAuthenticationPrincipal principal = SecurityUtil.getPrincipal(subject, BasicAuthenticationPrincipal.class);
if (principal != null){
- /*
+ /*
System.out.println(">>> LDAPRealmAuthenticationCallbackHandler" +
" Username: " + principal.getName() +
" Password: " + principal.getPassword());
diff --git a/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationPolicyProviderFactory.java b/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationPolicyProviderFactory.java
index 43d13b665a..45fe650b22 100644
--- a/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationPolicyProviderFactory.java
+++ b/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationPolicyProviderFactory.java
@@ -41,8 +41,8 @@ public class LDAPRealmAuthenticationPolicyProviderFactory implements PolicyProvi
LDAPSecurityHandlerExtensionPoint securityHandlerExtensionPoint = registry.getExtensionPoint(LDAPSecurityHandlerExtensionPoint.class);
if (securityHandlerExtensionPoint.getLDAPSecurityHandlers().size() > 0) {
- securityHandler = securityHandlerExtensionPoint.getLDAPSecurityHandlers().get(0);
- }
+ securityHandler = securityHandlerExtensionPoint.getLDAPSecurityHandlers().get(0);
+ }
}
public Class<LDAPRealmAuthenticationPolicy> getModelType() {
diff --git a/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationServicePolicyProvider.java b/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationServicePolicyProvider.java
index afa8f1e8de..5a8b7c7d85 100644
--- a/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationServicePolicyProvider.java
+++ b/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/LDAPRealmAuthenticationServicePolicyProvider.java
@@ -213,7 +213,7 @@ public class LDAPRealmAuthenticationServicePolicyProvider implements PolicyProvi
return polices;
}
-
+
/**
* Find a given configured operation
* @param operation
diff --git a/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/extensibility/DefaultLDAPSecurityExtensionPoint.java b/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/extensibility/DefaultLDAPSecurityExtensionPoint.java
index 7439137b78..b454289673 100644
--- a/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/extensibility/DefaultLDAPSecurityExtensionPoint.java
+++ b/branches/sca-java-1.x/modules/policy-security-http/src/main/java/org/apache/tuscany/sca/policy/security/http/extensibility/DefaultLDAPSecurityExtensionPoint.java
@@ -32,7 +32,6 @@ 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.monitor.impl.ProblemImpl;
/**
@@ -87,7 +86,7 @@ public class DefaultLDAPSecurityExtensionPoint implements LDAPSecurityHandlerExt
*/
private void error(String message, Object model, Exception ex) {
if (monitor != null) {
- Problem problem = new ProblemImpl(this.getClass().getName(), null, Severity.ERROR, model, message, ex);
+ Problem problem = monitor.createProblem(this.getClass().getName(), null, Severity.ERROR, model, message, ex);
monitor.problem(problem);
}
}
diff --git a/branches/sca-java-1.x/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java b/branches/sca-java-1.x/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java
index c1fab9efe4..e783d77c97 100644
--- a/branches/sca-java-1.x/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java
+++ b/branches/sca-java-1.x/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java
@@ -27,7 +27,6 @@ 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.osoa.sca.ServiceRuntimeException;
/**
@@ -52,7 +51,14 @@ public class BasicAuthenticationServicePolicyInterceptor implements Interceptor
}
private void init() {
-
+ if (policySet != null) {
+ for (Object policyObject : policySet.getPolicies()){
+ if (policyObject instanceof BasicAuthenticationPolicy){
+ policy = (BasicAuthenticationPolicy)policyObject;
+ break;
+ }
+ }
+ }
}
public Message invoke(Message msg) {
@@ -60,35 +66,17 @@ public class BasicAuthenticationServicePolicyInterceptor implements Interceptor
Subject subject = SecurityUtil.getSubject(msg);
BasicAuthenticationPrincipal principal = SecurityUtil.getPrincipal(subject,
BasicAuthenticationPrincipal.class);
- boolean authenticated = false;
-
+
if (principal != null){
- System.out.println("Authenticating user: " +
- principal.getName());
+ System.out.println("Username: " +
+ principal.getName() +
+ " Password: " +
+ principal.getPassword());
// could call out here to some 3rd party system to do whatever you
- // need to do do with username and password. For this very simple
- // interceptor just check that the credentials match crendentials in
- // the policy
-
- if (policySet != null) {
- for (Object policyObject : policySet.getPolicies()){
- if (policyObject instanceof BasicAuthenticationPolicy){
- BasicAuthenticationPolicy policy = (BasicAuthenticationPolicy)policyObject;
-
- if (policy.getUserName().equals(principal.getName())){
- if (policy.getPassword().equals(principal.getPassword())){
- authenticated = true;
- }
- }
- }
- }
- }
- }
-
- if (authenticated == false){
- throw new ServiceRuntimeException("User: " + principal.getName() + " cannot be authenticated");
+ // need to do do with username and password
+
}
return getNext().invoke(msg);
diff --git a/branches/sca-java-1.x/modules/web-javascript-dojo/NOTICE b/branches/sca-java-1.x/modules/web-javascript-dojo/NOTICE
index 4b63e48b54..c11317f24d 100644
--- a/branches/sca-java-1.x/modules/web-javascript-dojo/NOTICE
+++ b/branches/sca-java-1.x/modules/web-javascript-dojo/NOTICE
@@ -8,3 +8,4 @@ This product includes dojotoolkit files (http://dojotoolkit.org/) under the
"New" BSD License (see the LICENSE file contained in this distribution) under the
following copyright
Copyright (c) 2005, The Dojo Foundation. All rights reserved.
+
diff --git a/branches/sca-java-1.x/modules/web-javascript-dojo/build-dojo.xml b/branches/sca-java-1.x/modules/web-javascript-dojo/build-dojo.xml
index 15444f7d39..f029ed7e87 100644
--- a/branches/sca-java-1.x/modules/web-javascript-dojo/build-dojo.xml
+++ b/branches/sca-java-1.x/modules/web-javascript-dojo/build-dojo.xml
@@ -74,7 +74,7 @@
<patternset>
<include name="dojo-release-${dojo.version}/dojo/**"/>
<exclude name="dojo-release-${dojo.version}/dojo/tests/**"/>
- <include name="dojo-release-${dojo.version}/dijit/**"/>
+ <exclude name="dojo-release-${dojo.version}/dijit/**"/>
<exclude name="dojo-release-${dojo.version}/dojox/**"/>
<exclude name="dojo-release-${dojo.version}/util/**"/>
</patternset>
diff --git a/branches/sca-java-1.x/modules/web-javascript-dojo/pom.xml b/branches/sca-java-1.x/modules/web-javascript-dojo/pom.xml
index 5ccfe4a992..47460d3005 100644
--- a/branches/sca-java-1.x/modules/web-javascript-dojo/pom.xml
+++ b/branches/sca-java-1.x/modules/web-javascript-dojo/pom.xml
@@ -30,14 +30,6 @@
<name>Apache Tuscany SCA Web JavaScript for DOJO</name>
<dependencies>
-
- <dependency>
- <groupId>org.dojotoolkit</groupId>
- <artifactId>dojo</artifactId>
- <version>1.3.0</version>
- <type>zip</type>
- </dependency>
-
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-core</artifactId>
@@ -81,8 +73,8 @@
</dependency>
</dependencies>
<executions>
- <execution>
- <id>install-dojo</id>
+ <execution>
+ <id>install-dojo</id>
<phase>validate</phase>
<goals>
<goal>run</goal>
@@ -94,7 +86,7 @@
</ant>
</tasks>
</configuration>
- </execution>
+ </execution>
<execution>
<id>copy-dojo-files</id>
<phase>generate-resources</phase>
diff --git a/branches/sca-java-1.x/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoModuleActivator.java b/branches/sca-java-1.x/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoModuleActivator.java
index 3eaf6bf47a..987ef466fc 100644
--- a/branches/sca-java-1.x/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoModuleActivator.java
+++ b/branches/sca-java-1.x/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoModuleActivator.java
@@ -69,7 +69,7 @@ public class DojoModuleActivator implements ModuleActivator {
public void stop(ExtensionPointRegistry registry) {
Servlet servlet = servletHost.getServletMapping(dojoBaseUri);
- if(servlet == null) {
+ if(servlet != null) {
servletHost.removeServletMapping(dojoBaseUri);
servletHost.removeServletMapping(dojoUri);
diff --git a/branches/sca-java-1.x/modules/workspace-impl/pom.xml b/branches/sca-java-1.x/modules/workspace-impl/pom.xml
index c84570e0f9..d08880e88c 100644
--- a/branches/sca-java-1.x/modules/workspace-impl/pom.xml
+++ b/branches/sca-java-1.x/modules/workspace-impl/pom.xml
@@ -55,16 +55,10 @@
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.6-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-contribution-namespace</artifactId>
<version>1.6-SNAPSHOT</version>
<scope>test</scope>
- </dependency>
+ </dependency>
</dependencies>
diff --git a/branches/sca-java-1.x/modules/workspace/pom.xml b/branches/sca-java-1.x/modules/workspace/pom.xml
index c4fd5261b1..7b2c5f5358 100644
--- a/branches/sca-java-1.x/modules/workspace/pom.xml
+++ b/branches/sca-java-1.x/modules/workspace/pom.xml
@@ -29,12 +29,6 @@
<name>Apache Tuscany SCA Domain Workspace Model</name>
<dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.6-SNAPSHOT</version>
- </dependency>
-
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-contribution</artifactId>
diff --git a/branches/sca-java-1.x/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/impl/WorkspaceFactoryImpl.java b/branches/sca-java-1.x/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/impl/WorkspaceFactoryImpl.java
index 99ecbb4c0c..e41cc3ea83 100644
--- a/branches/sca-java-1.x/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/impl/WorkspaceFactoryImpl.java
+++ b/branches/sca-java-1.x/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/impl/WorkspaceFactoryImpl.java
@@ -30,7 +30,7 @@ import org.apache.tuscany.sca.workspace.WorkspaceFactory;
*/
public class WorkspaceFactoryImpl implements WorkspaceFactory {
- public WorkspaceFactoryImpl() {
+ protected WorkspaceFactoryImpl() {
}
public Workspace createWorkspace() {
diff --git a/branches/sca-java-1.x/modules/xsd/pom.xml b/branches/sca-java-1.x/modules/xsd/pom.xml
index cd32d635af..674ac63615 100644
--- a/branches/sca-java-1.x/modules/xsd/pom.xml
+++ b/branches/sca-java-1.x/modules/xsd/pom.xml
@@ -7,15 +7,15 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
- * under the License.
+ * under the License.
-->
<project>
<modelVersion>4.0.0</modelVersion>
@@ -39,6 +39,12 @@
<groupId>org.apache.ws.commons.schema</groupId>
<artifactId>XmlSchema</artifactId>
<version>1.4.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>xalan</groupId>
+ <artifactId>xalan</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
</dependencies>
diff --git a/branches/sca-java-1.x/pom.xml b/branches/sca-java-1.x/pom.xml
index a7cca0db85..f8ef2a549d 100644
--- a/branches/sca-java-1.x/pom.xml
+++ b/branches/sca-java-1.x/pom.xml
@@ -86,6 +86,17 @@
</snapshots>
</repository>
<repository>
+ <id>apache.repository</id>
+ <name>Apache Repository</name>
+ <url>https://repository.apache.org/content/groups/snapshots</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ <repository>
<id>indiana</id>
<url>http://ftp.ussg.iu.edu/eclipse/modeling/emf/emf/maven2/</url>
<releases>
@@ -104,7 +115,17 @@
<snapshots>
<enabled>false</enabled>
</snapshots>
- </repository>
+ </repository>
+ <repository>
+ <id>ibiblio</id>
+ <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
</repositories>
<pluginRepositories>
@@ -156,6 +177,16 @@
<enabled>true</enabled>
</snapshots>
</pluginRepository>
+
+ <!-- Java download repository -->
+ <pluginRepository>
+ <id>java download</id>
+ <name>Java Download Repository</name>
+ <url>http://download.java.net/maven/2</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
</pluginRepositories>
<distributionManagement>
diff --git a/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/impl/EchoBindingProcessor.java b/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/impl/EchoBindingProcessor.java
index 865ddca329..61ae9b9553 100644
--- a/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/impl/EchoBindingProcessor.java
+++ b/branches/sca-java-1.x/samples/binding-echo-extension/src/main/java/echo/impl/EchoBindingProcessor.java
@@ -6,15 +6,15 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
- * under the License.
+ * under the License.
*/
package echo.impl;
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-sdo/pom.xml b/branches/sca-java-1.x/samples/helloworld-ws-sdo/pom.xml
index afe0e22c3f..e9f4a60d8c 100644
--- a/branches/sca-java-1.x/samples/helloworld-ws-sdo/pom.xml
+++ b/branches/sca-java-1.x/samples/helloworld-ws-sdo/pom.xml
@@ -7,15 +7,15 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
- * under the License.
+ * under the License.
-->
<project>
<modelVersion>4.0.0</modelVersion>
@@ -90,7 +90,7 @@
<version>1.6-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
-
+
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@@ -142,6 +142,21 @@
<goal>generate</goal>
</goals>
</execution>
+ <execution>
+ <id>generate-helloworld-sdo1</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <schemaFile>${basedir}/src/main/resources/test.xsd</schemaFile>
+ <javaPackage>model.sdo</javaPackage>
+ <prefix>Entity</prefix>
+ <noNotification>true</noNotification>
+ <noContainer>true</noContainer>
+ <noUnsettable>true</noUnsettable>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
</executions>
</plugin>
</plugins>
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BioTestCase.java b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BioTestCase.java
new file mode 100644
index 0000000000..39fa5d2d14
--- /dev/null
+++ b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BioTestCase.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package services.bcircle;
+
+import model.sdo.EntityFactory;
+import model.sdo.Laboratory;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+public class BioTestCase {
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ BiochemicalCircle biochemicalCircl = new BiochemicalCircleImpl();
+ Laboratory lab2 = biochemicalCircl.getLaboratory("Lab2"); //This invocation without use SCA works ok.
+
+ SCADomain scaDomain = SCADomain.newInstance("resources/clinicalLaboratory.composite");
+ BiochemicalCircle biochemicalCircle =
+ scaDomain.getService(BiochemicalCircle.class, "BiochemicalCircleComponent");
+ Laboratory lab = EntityFactory.INSTANCE.createLaboratory();
+ lab.setName("lab2");
+ biochemicalCircle.setLaboratory(lab); // this invocation works ok too
+
+ lab = biochemicalCircle.getLaboratory("Lab2"); // here I have an exception posted below.
+
+ //here I wait a moment before close scaDomain
+ System.out.println(lab.getName());
+
+ scaDomain.close();
+
+ }
+}
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircle.java b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircle.java
new file mode 100644
index 0000000000..9d77e0cbd9
--- /dev/null
+++ b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircle.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package services.bcircle;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface BiochemicalCircle {
+ void setLaboratory(model.sdo.Laboratory lab);
+
+ model.sdo.Laboratory getLaboratory(String name);
+}
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircleImpl.java b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircleImpl.java
new file mode 100644
index 0000000000..287e8e22cb
--- /dev/null
+++ b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircleImpl.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package services.bcircle;
+import model.sdo.EntityFactory;
+import model.sdo.Laboratory;
+
+import org.osoa.sca.annotations.Service;
+
+
+@Service(BiochemicalCircle.class)
+public class BiochemicalCircleImpl implements BiochemicalCircle{
+ public Laboratory getLaboratory(String name) {
+
+ Laboratory lab = EntityFactory.INSTANCE.createLaboratory();
+ lab.setName("Main Laboratory");
+ return lab;
+ }
+
+ public void setLaboratory(Laboratory lab) {
+ //sad method
+ System.out.println(lab.getName());
+ }
+}
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/META-INF/sca-contribution.xml b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..1c1216cc17
--- /dev/null
+++ b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
+ <tuscany:sdo.types namespace="http://helloworld" location="wsdl/helloworld.wsdl"/>
+</contribution>
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/resources/clinicalLaboratory.composite b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/resources/clinicalLaboratory.composite
new file mode 100644
index 0000000000..56d47ef194
--- /dev/null
+++ b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/resources/clinicalLaboratory.composite
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sca:composite xmlns:federation="http://eclipse.org/SCAExample1/src/resources/federation"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" name="clinicalLaboratory"
+ targetNamespace="http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory">
+
+ <sca:component name="BiochemicalCircleComponent">
+ <sca:implementation.java class="services.bcircle.BiochemicalCircleImpl" />
+ <sca:service name="BiochemicalCircle">
+ <sca:interface.java interface="services.bcircle.BiochemicalCircle" />
+ <sca:binding.ws uri="http://localhost:8080/SCA1/MyServiceComponent" />
+ </sca:service>
+ </sca:component>
+ <!--
+ <sca:service name="BiochemicalCircle" promote="BiochemicalCircleComponent/BiochemicalCircle" />
+ -->
+</sca:composite>
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/test.xsd b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/test.xsd
new file mode 100644
index 0000000000..415e1648d4
--- /dev/null
+++ b/branches/sca-java-1.x/samples/helloworld-ws-sdo/src/main/resources/test.xsd
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory"
+ xmlns:tns="http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory"
+ elementFormDefault="qualified">
+ <complexType name="Practice">
+ <sequence>
+ <element name="name" type="string" />
+ </sequence>
+ </complexType>
+ <complexType name="Laboratory">
+ <sequence>
+ <element name="name" type="string" />
+ <element name="practices" type="tns:Practice" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+</schema>
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/java/helloworld/HelloWorldServer.java b/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/java/helloworld/HelloWorldServer.java
index 28039b7965..5454487ff6 100644
--- a/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/java/helloworld/HelloWorldServer.java
+++ b/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/java/helloworld/HelloWorldServer.java
@@ -33,7 +33,7 @@ public class HelloWorldServer {
BrokerService jmsBroker = new BrokerService();
jmsBroker.setPersistent(false);
jmsBroker.setUseJmx(false);
- jmsBroker.addConnector("tcp://localhost:61613");
+ jmsBroker.addConnector("tcp://localhost:61619");
jmsBroker.start();
return jmsBroker;
}
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/resources/helloworldwsjms.composite b/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/resources/helloworldwsjms.composite
index 1427221225..00fc4e4cb6 100644
--- a/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/resources/helloworldwsjms.composite
+++ b/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/main/resources/helloworldwsjms.composite
@@ -28,7 +28,7 @@
<service name="HelloWorldService">
<interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
<binding.ws wsdlElement="http://helloworld#wsdl.binding(HelloWorldSoapJmsBinding)"
- uri="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:51293"/>
+ uri="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61619"/>
<!-- binding.ws wsdlElement="http://helloworld#wsdl.binding(HelloWorldSoapBinding)"/ -->
</service>
</component>
diff --git a/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/test/java/helloworld/HelloWorldJmsServerTestCase.java b/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/test/java/helloworld/HelloWorldJmsServerTestCase.java
index 31e930bff4..409b975736 100644
--- a/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/test/java/helloworld/HelloWorldJmsServerTestCase.java
+++ b/branches/sca-java-1.x/samples/helloworld-ws-service-jms/src/test/java/helloworld/HelloWorldJmsServerTestCase.java
@@ -48,7 +48,7 @@ public class HelloWorldJmsServerTestCase{
jmsBroker = new BrokerService();
jmsBroker.setPersistent(false);
jmsBroker.setUseJmx(false);
- jmsBroker.addConnector("tcp://localhost:51293");
+ jmsBroker.addConnector("tcp://localhost:61619");
jmsBroker.start();
}
diff --git a/branches/sca-java-1.x/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java b/branches/sca-java-1.x/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java
index 5476c80cdd..36bce82e09 100644
--- a/branches/sca-java-1.x/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java
+++ b/branches/sca-java-1.x/samples/implementation-pojo-extension/src/main/java/pojo/impl/POJOImplementationProcessor.java
@@ -6,15 +6,15 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
- * under the License.
+ * under the License.
*/
package pojo.impl;
@@ -48,25 +48,25 @@ import pojo.POJOImplementationFactory;
/**
* Implements a STAX based artifact processor for POJO implementations.
- *
+ *
* The artifact processor is responsible for processing <implementation.pojo>
* elements in SCA assembly XML composite files and populating the POJO
* implementation model, resolving its references to other artifacts in the SCA
- * contribution, and optionally write the model back to SCA assembly XML.
+ * contribution, and optionally write the model back to SCA assembly XML.
*/
public class POJOImplementationProcessor implements StAXArtifactProcessor<POJOImplementation> {
private static final QName IMPLEMENTATION_POJO = new QName("http://pojo", "implementation.pojo");
-
+
private AssemblyFactory assemblyFactory;
private JavaInterfaceFactory javaFactory;
private POJOImplementationFactory pojoImplementationFactory;
private PolicyFactory policyFactory;
private PolicyAttachPointProcessor policyProcessor;
-
+
public POJOImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
-
+
// Get the assembly and Java interface factories as we'll need them to
- // create model objects
+ // create model objects
assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
policyFactory = modelFactories.getFactory(PolicyFactory.class);
@@ -85,36 +85,36 @@ public class POJOImplementationProcessor implements StAXArtifactProcessor<POJOIm
}
public POJOImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
-
+
// Read an <implementation.pojo> element
POJOImplementation implementation = pojoImplementationFactory.createPOJOImplementation();
-
+
// Read policies
policyProcessor.readPolicies(implementation, reader);
-
+
// Read the POJO class attribute.
String className = reader.getAttributeValue(null, "class");
implementation.setPOJOName(className);
-
+
// Mark the POJO model unresolved to track the fact that it's not
// completely initialized, its class is not loaded yet and services
// and references not initialized either
implementation.setUnresolved(true);
-
+
// Skip to end element
while (reader.hasNext()) {
if (reader.next() == END_ELEMENT && IMPLEMENTATION_POJO.equals(reader.getName())) {
break;
}
}
-
+
return implementation;
}
public void resolve(POJOImplementation implementation, ModelResolver resolver) throws ContributionResolveException {
-
+
// Resolve the POJO implementation
-
+
// First resolve its class
ClassReference classReference = new ClassReference(implementation.getPOJOName());
classReference = resolver.resolveModel(ClassReference.class, classReference);
@@ -123,21 +123,21 @@ public class POJOImplementationProcessor implements StAXArtifactProcessor<POJOIm
throw new ContributionResolveException("Class could not be resolved: " + implementation.getPOJOName());
}
implementation.setPOJOClass(pojoClass);
-
+
// Check to see if we have a .componentType file describing the POJO class
ComponentType componentType = assemblyFactory.createComponentType();
componentType.setUnresolved(true);
componentType.setURI(implementation.getURI() + ".componentType");
componentType = resolver.resolveModel(ComponentType.class, componentType);
if (!componentType.isUnresolved()) {
-
+
// We have a component type description, merge it into the POJO model
implementation.getServices().addAll(componentType.getServices());
implementation.getReferences().addAll(componentType.getReferences());
implementation.getProperties().addAll(componentType.getProperties());
-
+
} else {
-
+
// We have no component type description, simply introspect the POJO and
// create a single Service for it
Service service = assemblyFactory.createService();
@@ -153,21 +153,21 @@ public class POJOImplementationProcessor implements StAXArtifactProcessor<POJOIm
service.setInterfaceContract(interfaceContract);
implementation.getServices().add(service);
}
-
+
// Mark the implementation resolved now
implementation.setUnresolved(false);
}
public void write(POJOImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
+
// Write <implementation.pojo> element
writer.writeStartElement(IMPLEMENTATION_POJO.getNamespaceURI(), IMPLEMENTATION_POJO.getLocalPart());
policyProcessor.writePolicyAttributes(implementation, writer);
-
+
if (implementation.getPOJOName() != null) {
writer.writeAttribute("class", implementation.getPOJOName());
}
-
+
writer.writeEndElement();
}
}
diff --git a/branches/sca-java-1.x/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite b/branches/sca-java-1.x/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite
index 35306b9f89..c9887c8c19 100644
--- a/branches/sca-java-1.x/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite
+++ b/branches/sca-java-1.x/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite
@@ -18,7 +18,9 @@
* under the License.
-->
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://quote.xquery/client"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" xmlns:xq="http://quote.xquery/client"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0"
+ xmlns:xq="http://quote.xquery/client"
name="xqueryquotewsclient">
<component name="QuoteJoinLocalComponent">
@@ -101,9 +103,8 @@
</component>
<reference name="availQuoteProvider" promote="QuoteJoinExternalReferencesComponent/availQuoteProvider">
- <!-- removed because it doesn't work with TUSCANY-2324 fix
+ <!-- removed because it doesn't work with TUSCANY-2324 fix -->
<interface.java interface="xquery.quote.AvailQuoteProviderService" />
- -->
<binding.ws wsdlElement="http://quote.xquery#wsdl.port(AvailQuoteProviderService/AvailQuoteProviderSoapPort)" />
</reference>
<reference name="quoteJoinWs" promote="QuoteJoinLocalComponent/quoteJoinWs">
diff --git a/branches/sca-java-1.x/samples/quote-xquery/src/test/java/xquery/quote/XQueryQuoteClientTestCase.java b/branches/sca-java-1.x/samples/quote-xquery/src/test/java/xquery/quote/XQueryQuoteClientTestCase.java
index a7224b0efa..9555532b3e 100644
--- a/branches/sca-java-1.x/samples/quote-xquery/src/test/java/xquery/quote/XQueryQuoteClientTestCase.java
+++ b/branches/sca-java-1.x/samples/quote-xquery/src/test/java/xquery/quote/XQueryQuoteClientTestCase.java
@@ -33,7 +33,6 @@ import org.example.quote.Quote;
import org.example.quote.QuoteResponse;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import commonj.sdo.DataObject;
@@ -63,7 +62,6 @@ import commonj.sdo.DataObject;
* total price
* 4. SDO is used for data interchange
*/
-@Ignore("Broken, see TUSCANY-2943")
public class XQueryQuoteClientTestCase {
public static boolean SHOW_DEBUG_MSG = false;
diff --git a/branches/sca-java-1.x/samples/simple-bigbank-spring/README b/branches/sca-java-1.x/samples/simple-bigbank-spring/README
index bb44d63719..210ec2d510 100644
--- a/branches/sca-java-1.x/samples/simple-bigbank-spring/README
+++ b/branches/sca-java-1.x/samples/simple-bigbank-spring/README
@@ -1,6 +1,11 @@
Spring Bigbank Sample
======================
-This sample is made of 3 modules that represent the different aspects of a fictitious banking application.
+This sample is different from the simple-bigbank in that it is made of 4 separate modules that represent the different aspects of a fictitious banking application.
+
+simple-bigbank-spring (this module)
+spring-bigbank-calculator
+spring-bigbank-checkaccount
+spring-bigbank-stockquote
To run the simple-bigbank-spring sample you need to first run spring-bigbank-calculator, spring-bigbank-checkaccount and spring-bigbank-stockquote composites.
This will bring up Tuscany runtime and load the three applications and make them available as services.
diff --git a/branches/sca-java-1.x/samples/spring-bigbank-stockquote/src/main/resources/StockQuote.composite b/branches/sca-java-1.x/samples/spring-bigbank-stockquote/src/main/resources/StockQuote.composite
index 3f606e1216..06544c6883 100644
--- a/branches/sca-java-1.x/samples/spring-bigbank-stockquote/src/main/resources/StockQuote.composite
+++ b/branches/sca-java-1.x/samples/spring-bigbank-stockquote/src/main/resources/StockQuote.composite
@@ -25,7 +25,7 @@
<service name="StockQuoteService" promote="StockQuoteServiceComponent">
<interface.java interface="bigbank.stockquote.StockQuoteService"/>
- <binding.ws uri="http://localhost:8085/services/StockQuoteWebService"/>
+ <binding.ws uri="http://localhost:8081/services/StockQuoteWebService"/>
</service>
<component name="StockQuoteServiceComponent">
diff --git a/branches/sca-java-1.x/samples/store-webapp/pom.xml b/branches/sca-java-1.x/samples/store-webapp/pom.xml
index 483e5c11fd..8b6f0412f1 100644
--- a/branches/sca-java-1.x/samples/store-webapp/pom.xml
+++ b/branches/sca-java-1.x/samples/store-webapp/pom.xml
@@ -103,6 +103,23 @@
<build>
<finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-maven-ant-generator</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <buildDependencyFileOnly>true</buildDependencyFileOnly>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
</project>
diff --git a/branches/sca-java-1.x/samples/store-webapp/src/main/webapp/META-INF/sca-contribution.xml b/branches/sca-java-1.x/samples/store-webapp/src/main/webapp/META-INF/sca-contribution.xml
index 8d744c2834..41c84c9a44 100644
--- a/branches/sca-java-1.x/samples/store-webapp/src/main/webapp/META-INF/sca-contribution.xml
+++ b/branches/sca-java-1.x/samples/store-webapp/src/main/webapp/META-INF/sca-contribution.xml
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:store="http://store">
- <deployable composite="store:store"/>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:store="http://store">
+ <deployable composite="store:store"/>
</contribution> \ No newline at end of file
diff --git a/branches/sca-java-1.x/samples/store-webapp/src/main/webapp/store.html b/branches/sca-java-1.x/samples/store-webapp/src/main/webapp/store.html
index e77389c552..ba004e02ac 100644
--- a/branches/sca-java-1.x/samples/store-webapp/src/main/webapp/store.html
+++ b/branches/sca-java-1.x/samples/store-webapp/src/main/webapp/store.html
@@ -1,162 +1,162 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<html>
-<head>
-<title>Store</title>
-
-<script type="text/javascript" src="store.js"></script>
-
-<script language="JavaScript">
-
- //@Reference
- var catalog = new tuscany.sca.Reference("catalog");
-
- //@Reference
- var shoppingCart = new tuscany.sca.Reference("shoppingCart");
-
- //@Reference
- var shoppingTotal = new tuscany.sca.Reference("shoppingTotal");
-
- var catalogItems;
-
- function catalog_getResponse(items,exception) {
- if(exception){
- alert(exception.message);
- return;
- }
- var catalog = "";
-
- for (var i=0; i<items.length; i++) {
- var item = items[i].name + ' - ' + items[i].price;
- catalog += '<input name="items" type="checkbox" value="' +
- item + '">' + item + ' <br>';
- }
- document.getElementById('catalog').innerHTML=catalog;
- catalogItems = items;
- }
-
- function shoppingCart_getResponse(feed) {
- if (feed != null) {
- var entries = feed.getElementsByTagName("entry");
- var list = "";
- for (var i=0; i<entries.length; i++) {
- var content = entries[i].getElementsByTagName("content")[0];
- var name = content.getElementsByTagName("name")[0].firstChild.nodeValue;
- var price = content.getElementsByTagName("price")[0].firstChild.nodeValue;
- list += name + ' - ' + price + ' <br>';
- }
- document.getElementById("shoppingCart").innerHTML = list;
-
- if (entries.length != 0) {
- try {
- shoppingTotal.getTotal(shoppingTotal_getTotalResponse);
- }
- catch(e){
- alert(e);
- }
- }
- }
- }
-
- function shoppingTotal_getTotalResponse(total,exception) {
- if(exception) {
- alert(exception.message);
- return;
- }
- document.getElementById('total').innerHTML = total;
- }
-
- function shoppingCart_postResponse(entry) {
- shoppingCart.get("", shoppingCart_getResponse);
- }
-
- function addToCart() {
- var items = document.catalogForm.items;
- var j = 0;
- for (var i=0; i<items.length; i++)
- if (items[i].checked) {
-
- var entry = '<entry xmlns="http://www.w3.org/2005/Atom"><title>item</title><content type="text/xml">' +
- '<Item xmlns="http://services/">' +
- '<name xmlns="">' + catalogItems[i].name + '</name>' + '<price xmlns="">' + catalogItems[i].price + '</price>' +
- '</Item>' + '</content></entry>';
- shoppingCart.post(entry, shoppingCart_postResponse);
- items[i].checked = false;
- }
- }
- function checkoutCart() {
- document.getElementById('store').innerHTML='<h2>' +
- 'Thanks for Shopping With Us!</h2>'+
- '<h2>Your Order</h2>'+
- '<form name="orderForm">'+
- document.getElementById('shoppingCart').innerHTML+
- '<br>'+
- document.getElementById('total').innerHTML+
- '<br>'+
- '<br>'+
- '<input type="submit" value="Continue Shopping">'+
- '</form>';
- shoppingCart.del("", null);
- }
- function deleteCart() {
- shoppingCart.del("", null);
- document.getElementById('shoppingCart').innerHTML = "";
- document.getElementById('total').innerHTML = "";
- }
-
- function init() {
-
- try {
- catalog.get(catalog_getResponse);
- shoppingCart.get("", shoppingCart_getResponse);
- }
- catch(e){
- alert(e);
- }
- }
-
-</script>
-
-</head>
-
-<body onload="init()">
-<h1>Store</h1>
- <div id="store">
- <h2>Catalog</h2>
- <form name="catalogForm">
- <div id="catalog" ></div>
- <br>
- <input type="button" onClick="addToCart()" value="Add to Cart">
- </form>
-
- <br>
-
- <h2>Your Shopping Cart</h2>
- <form name="shoppingCartForm">
- <div id="shoppingCart"></div>
- <br>
- <div id="total"></div>
- <br>
- <input type="button" onClick="checkoutCart()" value="Checkout">
- <input type="button" onClick="deleteCart()" value="Empty">
- <a href="../ShoppingCart/Cart/">(feed)</a>
- </form>
- </div>
-</body>
-</html>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<html>
+<head>
+<title>Store</title>
+
+<script type="text/javascript" src="store.js"></script>
+
+<script language="JavaScript">
+
+ //@Reference
+ var catalog = new tuscany.sca.Reference("catalog");
+
+ //@Reference
+ var shoppingCart = new tuscany.sca.Reference("shoppingCart");
+
+ //@Reference
+ var shoppingTotal = new tuscany.sca.Reference("shoppingTotal");
+
+ var catalogItems;
+
+ function catalog_getResponse(items,exception) {
+ if(exception){
+ alert(exception.message);
+ return;
+ }
+ var catalog = "";
+
+ for (var i=0; i<items.length; i++) {
+ var item = items[i].name + ' - ' + items[i].price;
+ catalog += '<input name="items" type="checkbox" value="' +
+ item + '">' + item + ' <br>';
+ }
+ document.getElementById('catalog').innerHTML=catalog;
+ catalogItems = items;
+ }
+
+ function shoppingCart_getResponse(feed) {
+ if (feed != null) {
+ var entries = feed.getElementsByTagName("entry");
+ var list = "";
+ for (var i=0; i<entries.length; i++) {
+ var content = entries[i].getElementsByTagName("content")[0];
+ var name = content.getElementsByTagName("name")[0].firstChild.nodeValue;
+ var price = content.getElementsByTagName("price")[0].firstChild.nodeValue;
+ list += name + ' - ' + price + ' <br>';
+ }
+ document.getElementById("shoppingCart").innerHTML = list;
+
+ if (entries.length != 0) {
+ try {
+ shoppingTotal.getTotal(shoppingTotal_getTotalResponse);
+ }
+ catch(e){
+ alert(e);
+ }
+ }
+ }
+ }
+
+ function shoppingTotal_getTotalResponse(total,exception) {
+ if(exception) {
+ alert(exception.message);
+ return;
+ }
+ document.getElementById('total').innerHTML = total;
+ }
+
+ function shoppingCart_postResponse(entry) {
+ shoppingCart.get("", shoppingCart_getResponse);
+ }
+
+ function addToCart() {
+ var items = document.catalogForm.items;
+ var j = 0;
+ for (var i=0; i<items.length; i++)
+ if (items[i].checked) {
+
+ var entry = '<entry xmlns="http://www.w3.org/2005/Atom"><title>item</title><content type="text/xml">' +
+ '<Item xmlns="http://services/">' +
+ '<name xmlns="">' + catalogItems[i].name + '</name>' + '<price xmlns="">' + catalogItems[i].price + '</price>' +
+ '</Item>' + '</content></entry>';
+ shoppingCart.post(entry, shoppingCart_postResponse);
+ items[i].checked = false;
+ }
+ }
+ function checkoutCart() {
+ document.getElementById('store').innerHTML='<h2>' +
+ 'Thanks for Shopping With Us!</h2>'+
+ '<h2>Your Order</h2>'+
+ '<form name="orderForm">'+
+ document.getElementById('shoppingCart').innerHTML+
+ '<br>'+
+ document.getElementById('total').innerHTML+
+ '<br>'+
+ '<br>'+
+ '<input type="submit" value="Continue Shopping">'+
+ '</form>';
+ shoppingCart.del("", null);
+ }
+ function deleteCart() {
+ shoppingCart.del("", null);
+ document.getElementById('shoppingCart').innerHTML = "";
+ document.getElementById('total').innerHTML = "";
+ }
+
+ function init() {
+
+ try {
+ catalog.get(catalog_getResponse);
+ shoppingCart.get("", shoppingCart_getResponse);
+ }
+ catch(e){
+ alert(e);
+ }
+ }
+
+</script>
+
+</head>
+
+<body onload="init()">
+<h1>Store</h1>
+ <div id="store">
+ <h2>Catalog</h2>
+ <form name="catalogForm">
+ <div id="catalog" ></div>
+ <br>
+ <input type="button" onClick="addToCart()" value="Add to Cart">
+ </form>
+
+ <br>
+
+ <h2>Your Shopping Cart</h2>
+ <form name="shoppingCartForm">
+ <div id="shoppingCart"></div>
+ <br>
+ <div id="total"></div>
+ <br>
+ <input type="button" onClick="checkoutCart()" value="Checkout">
+ <input type="button" onClick="deleteCart()" value="Empty">
+ <a href="../ShoppingCart/Cart/">(feed)</a>
+ </form>
+ </div>
+</body>
+</html>
diff --git a/branches/sca-java-1.x/tools/eclipse/features/core/META-INF/MANIFEST.MF b/branches/sca-java-1.x/tools/eclipse/features/core/META-INF/MANIFEST.MF
index 63215d7c6f..c3ba542745 100644
--- a/branches/sca-java-1.x/tools/eclipse/features/core/META-INF/MANIFEST.MF
+++ b/branches/sca-java-1.x/tools/eclipse/features/core/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Apache Tuscany SCA Tools Core Feature
Bundle-SymbolicName: org.apache.tuscany.sca.feature.core
-Bundle-Version: 1.4.0
+Bundle-Version: 1.6
Bundle-Vendor: Apache Software Foundation
diff --git a/branches/sca-java-1.x/tools/eclipse/features/core/feature.xml b/branches/sca-java-1.x/tools/eclipse/features/core/feature.xml
index 6dbeeec280..8dfcc5c36b 100644
--- a/branches/sca-java-1.x/tools/eclipse/features/core/feature.xml
+++ b/branches/sca-java-1.x/tools/eclipse/features/core/feature.xml
@@ -20,7 +20,7 @@
<feature
id="org.apache.tuscany.sca.feature.core"
label="Apache Tuscany SCA Tools Core Feature"
- version="1.4.0"
+ version="1.6"
provider-name="Apache Software Foundation">
<install-handler handler="org.eclipse.update.core.DefaultInstallHandler"/>
@@ -56,7 +56,7 @@ Unless required by applicable law or agreed to in writing, software distributed
id="org.apache.tuscany.sca.core"
download-size="0"
install-size="0"
- version="1.4.0"
+ version="1.6"
unpack="false"/>
<data
diff --git a/branches/sca-java-1.x/tools/eclipse/plugins/core/META-INF/MANIFEST.MF b/branches/sca-java-1.x/tools/eclipse/plugins/core/META-INF/MANIFEST.MF
index 3096b99e66..d9e5b2ae16 100644
--- a/branches/sca-java-1.x/tools/eclipse/plugins/core/META-INF/MANIFEST.MF
+++ b/branches/sca-java-1.x/tools/eclipse/plugins/core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Apache Tuscany SCA Tools Core Plugin
Bundle-SymbolicName: org.apache.tuscany.sca.core;singleton:=true
-Bundle-Version: 1.4.0
+Bundle-Version: 1.6
Import-Package: org.eclipse.core.resources,
org.eclipse.core.runtime,
org.eclipse.core.runtime.jobs,
diff --git a/branches/sca-java-1.x/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java b/branches/sca-java-1.x/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java
index 46abe6f99c..9eee96833f 100644
--- a/branches/sca-java-1.x/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java
+++ b/branches/sca-java-1.x/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java
@@ -47,7 +47,7 @@ public class ClasspathUtil {
private static final String TUSCANY_RUNTIME_LIBRARIES = "org.apache.tuscany.sca.core.runtimeLibraries";
private static final String TUSCANY_FEATURE = "org.apache.tuscany.sca.feature.core";
- private static final String TUSCANY_VERSION = "1.5.0";
+ private static final String TUSCANY_VERSION = "1.6";
/**
* Return the installed runtime classpath entries.
diff --git a/branches/sca-java-1.x/tools/eclipse/site/updatesite/site.xml b/branches/sca-java-1.x/tools/eclipse/site/updatesite/site.xml
index 25db01fe5c..9d83433882 100644
--- a/branches/sca-java-1.x/tools/eclipse/site/updatesite/site.xml
+++ b/branches/sca-java-1.x/tools/eclipse/site/updatesite/site.xml
@@ -22,15 +22,15 @@
Apache Tuscany SCA Tools.
</description>
- <feature id="org.apache.tuscany.sca.feature.core" version="1.4.0"
+ <feature id="org.apache.tuscany.sca.feature.core" version="1.5.1"
url="features/org.apache.tuscany.sca.feature.core-1.6-SNAPSHOT.jar"/>
- <archive path="plugins/org.apache.tuscany.sca.core_1.4.0.jar"
+ <archive path="plugins/org.apache.tuscany.sca.core_1.5.1.jar"
url="plugins/org.apache.tuscany.sca.core-1.6-SNAPSHOT.jar"/>
- <archive path="features/org.apache.tuscany.sca.feature.core_1.4.0/runtime/apache-tuscany-sca-1.6-SNAPSHOT.jar"
+ <archive path="features/org.apache.tuscany.sca.feature.core_1.5.1/runtime/apache-tuscany-sca-1.6-SNAPSHOT.jar"
url="../apache-tuscany-sca-1.6-SNAPSHOT.zip"/>
- <archive path="features/org.apache.tuscany.sca.feature.core_1.4.0/src/apache-tuscany-sca-1.6-SNAPSHOT-src.zip"
+ <archive path="features/org.apache.tuscany.sca.feature.core_1.5.1/src/apache-tuscany-sca-1.6-SNAPSHOT-src.zip"
url="../apache-tuscany-sca-1.6-SNAPSHOT-src.zip"/>
</site>
diff --git a/branches/sca-java-1.x/tools/pom.xml b/branches/sca-java-1.x/tools/pom.xml
index 6e920335af..77b35a11d6 100644
--- a/branches/sca-java-1.x/tools/pom.xml
+++ b/branches/sca-java-1.x/tools/pom.xml
@@ -41,7 +41,7 @@
<module>java2wsdl</module>
<module>maven</module>
<module>wsdl2java</module>
- <module>wsdl2java-cxf</module>
+ <module>./databinding/sdo</module>
</modules>
</profile>
</profiles>
diff --git a/branches/sca-java-1.x/tutorials/store/README b/branches/sca-java-1.x/tutorials/store/README
index d23bc6b968..47c1354b79 100644
--- a/branches/sca-java-1.x/tutorials/store/README
+++ b/branches/sca-java-1.x/tutorials/store/README
@@ -20,12 +20,12 @@ Running The Tutorial Application
Start the SCA Domain Manager on linux:
cd domain
- java -jar ../../../modules/tuscany-node-launcher-1.5.jar domain
+ java -jar ../../../modules/tuscany-node-launcher-1.5.1.jar domain
Start the SCA Domain Manager on windows:
cd domain
- java -jar ..\..\..\modules\tuscany-node-launcher-1.5.jar domain
+ java -jar ..\..\..\modules\tuscany-node-launcher-1.5.1.jar domain
Access the SCA Domain Manager application by pointing your Web browser at:
diff --git a/branches/sca-java-1.x/tutorials/store/store-test/pom.xml b/branches/sca-java-1.x/tutorials/store/store-test/pom.xml
index df4ec0f3e8..b8543a8ff1 100644
--- a/branches/sca-java-1.x/tutorials/store/store-test/pom.xml
+++ b/branches/sca-java-1.x/tutorials/store/store-test/pom.xml
@@ -150,6 +150,13 @@
<version>1.6-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jms-runtime</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.derby</groupId>
diff --git a/branches/sca-java-1.x/tutorials/store/store-test/test/StoreSupplierTestCase.java b/branches/sca-java-1.x/tutorials/store/store-test/test/StoreSupplierTestCase.java
index 556cc42d0b..9cea47fbc8 100644
--- a/branches/sca-java-1.x/tutorials/store/store-test/test/StoreSupplierTestCase.java
+++ b/branches/sca-java-1.x/tutorials/store/store-test/test/StoreSupplierTestCase.java
@@ -58,6 +58,15 @@ public class StoreSupplierTestCase {
domainManager = managerLauncher.createDomainManager(domainDir);
domainManager.start();
+ /* helpful for debugging
+ try {
+ System.out.println("press enter to continue)");
+ System.in.read();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ */
+
NodeLauncher nodeLauncher = NodeLauncher.newInstance();
storeSupplierNode = nodeLauncher.createNodeFromURL("http://localhost:9990/node-config/StoreSupplierNode");
storeSupplierNode.start();
@@ -78,8 +87,9 @@ public class StoreSupplierTestCase {
domainManager.stop();
}
-/*
+
@Test
+ @Ignore
public void testWaitForInput() {
try {
System.out.println("press enter to continue)");
@@ -88,7 +98,7 @@ public class StoreSupplierTestCase {
e.printStackTrace();
}
}
-*/
+
@Test
public void testShop() {