summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-M2/sca/services
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-M2/sca/services')
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/.ruleset190
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/pom.xml163
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/assembly/axis2.xml38
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2AsyncTargetInvoker.java84
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java208
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilderRuntimeException.java65
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingRunTimeException.java48
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2CallbackInvocationHandler.java74
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2OneWayTargetInvoker.java71
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2Reference.java187
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceCallback.java55
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceCallbackTargetInvoker.java100
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2Service.java290
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceCallbackTargetInvoker.java114
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInMessageReceiver.java67
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutAsyncMessageReceiver.java95
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutSyncMessageReceiver.java73
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceServlet.java207
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java136
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBinding.java78
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingLoader.java143
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/TuscanyAxisConfigurator.java44
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/WebServiceOperationMetaData.java491
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/WebServicePortMetaData.java377
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/META-INF/sca/binding.axis2.scdl48
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/META-INF/sca/default.scdl49
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/org/apache/tuscany/binding/axis2/engine/config/axis2.xml302
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ReferenceTestCase.java105
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java150
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Greeter.java31
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/GreetingCallback.java24
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/resources/wsdl/hello_world_doc_lit.wsdl169
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/.checkstyle24
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/.pmd23
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/.ruleset190
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/README.txt35
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/pom.xml96
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusService.java35
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusServiceImpl.java77
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixBindingBuilder.java104
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java245
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixReference.java66
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixService.java270
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixServiceInitException.java43
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/InvokerCreationException.java43
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/TuscanyWSDLManager.java89
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBinding.java90
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBindingLoader.java195
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataReader.java205
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataWriter.java322
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/RawByteArrayOutputStream.java30
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCADataBindingCallback.java83
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCAServerDataBindingCallback.java69
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/resources/META-INF/sca/default.scdl31
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/BootstrapTestCase.java35
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixInvokerTestCase.java134
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixServiceTestCase.java129
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/Greeter.java32
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/GreeterImpl.java33
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world.wsdl181
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world_doc_lit.wsdl154
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world_doc_lit_inout.wsdl181
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.celtix/tuscany-checkstyle.xml288
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/.ruleset190
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/pom.xml59
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBinding.java38
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBindingBuilder.java56
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBindingLoader.java57
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCEntryPointServlet.java71
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCService.java56
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/ScriptGetterServlet.java52
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/binding.jsonrpc.scdl42
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/default.scdl43
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/jsonrpc_extension.scdl42
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/org/apache/tuscany/binding/jsonrpc/jsonrpc.js484
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/.ruleset190
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.rmi/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.rmi/pom.xml63
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/NoRemoteMethodException.java37
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/NoRemoteServiceException.java37
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBinding.java57
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBindingBuilder.java78
-rwxr-xr-xbranches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBindingLoader.java64
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIInvoker.java66
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIReference.java87
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIRuntimeException.java39
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIService.java160
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RemoteMethodHandler.java47
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/host/RMIHostImpl.java136
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/resources/META-INF/sca/default.scdl55
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/resources/META-INF/sca/rmi_extension.scdl42
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldImpl.java32
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldRmiImpl.java45
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldRmiService.java28
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldService.java28
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/BindingTestCase.java54
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/NoRemoteMethodExceptionTestCase.java47
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/NoRemoteServiceExceptionTestCase.java47
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingBuilderTestCase.java48
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingLoaderTestCase.java74
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingTestCase.java40
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIInvokerTestCase.java84
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIReferenceTestCase.java48
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIServiceTestCase.java53
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RemoteMethodHandlerTestCase.java42
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/host/RMIHostImplTestCase.java76
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/HelloWorldImpl.componentType27
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/HelloWorldRmiImpl.componentType29
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/LICENSE.txt1277
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/NOTICE18
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/sca/default.scdl44
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/pom.xml60
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaBootstrap.java169
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaComponent.java43
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaDeployer.java60
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaEndpoint.java157
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaLifeCycle.java30
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaServiceUnit.java113
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/JbiAssemblyFactory.java33
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/JbiBinding.java85
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/impl/JbiAssemblyFactoryImpl.java44
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/impl/JbiBindingImpl.java166
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/ExternalJbiServiceBuilder.java151
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/ExternalJbiServiceWireBuilder.java70
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/JbiServiceEntryPointBuilder.java169
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/config/ExternalJbiServiceContextFactory.java30
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/config/JbiServiceEntryPointContextFactory.java30
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/handler/ExternalJbiServiceClient.java94
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/handler/ExternalJbiServiceTargetInvoker.java110
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/loader/JbiBindingLoader.java75
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/BootstrapHelper.java125
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/CommonsLoggingMonitorFactory.java90
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/TuscanyRuntime.java174
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/JBIBinding.java47
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/JBIBindingLoader.java63
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixBuilder.java57
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixInvoker.java77
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixReference.java54
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixService.java42
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/DISCLAIMER6
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/LICENSE203
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/NOTICE11
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/AssemblyLoaderTest.java74
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/ScaComponentTest.java110
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountReportRequest.java43
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountReportResponse.java45
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountService.java27
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountServiceImpl.java93
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountSummary.java68
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/AccountDataService.java28
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/AccountDataServiceImpl.java50
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/CheckingAccount.java41
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/SavingsAccount.java41
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/StockAccount.java50
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteRequest.java43
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteResponse.java43
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteService.java29
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/log4j-tests.properties38
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/log4j.properties39
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/org/apache/servicemix/sca/bigbank/account/AccountService.wsdl80
-rw-r--r--branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/org/apache/servicemix/sca/bigbank/sca.module56
-rw-r--r--branches/sca-java-M2/sca/services/bindings/pom.xml63
-rw-r--r--branches/sca-java-M2/sca/services/bindings/sunjars/build.xml56
-rw-r--r--branches/sca-java-M2/sca/services/bindings/sunjars/pom.xml102
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/.ruleset190
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/pom.xml77
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/AsyncGroovyInvoker.java92
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/AsyncMonitor.java34
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicComponent.java120
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java119
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentType.java43
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentTypeLoader.java43
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyConfiguration.java150
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyImplementation.java45
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyInvoker.java87
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/ImplementationLoader.java110
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/main/resources/META-INF/sca/groovy.system.scdl40
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java77
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/GroovyComponentTypeLoaderTestCase.java37
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ImplementationLoaderTestCase.java102
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/PropertyTestCase.java90
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ScriptInvokeTestCase.java79
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/WireTestCase.java189
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java27
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/Greeting.java25
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/resources/META-INF/sca/default.scdl28
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.groovy/src/test/resources/org/apache/tuscany/container/groovy/mock/TestScript.groovy1
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/pom.xml105
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java120
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentBuilder.java152
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentType.java57
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentTypeLoader.java113
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptImplementation.java38
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptImplementationLoader.java111
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java173
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptInvoker.java53
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptRefInvocInterceptor.java132
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptReferenceProxy.java132
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoFunctionInvoker.java123
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java157
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoScript.java210
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptInstance.java109
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/CmdLineArgsHandler.java28
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/CmdLineArgsProcessor.java79
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/TuscanySampleXmlUtil.java1097
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XBbasedXMLGenerator.java253
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLGenerator.java52
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLGeneratorFactory.java55
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDConfiguration.java246
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDGenerator.java82
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceCreationException.java34
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceRegistry.java31
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceRegistryImpl.java68
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/default.scdl51
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/js.system.scdl45
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/helloworld/HelloWorldService.java27
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/helloworld/HelloWorldServiceImpl.java55
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/JavaScriptImplementationLoaderTestCase.java107
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/PropertyTestCase.java65
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/RhinoScriptIntrospectorTestCase.java114
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/ScriptInvokeTestCase.java61
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/WireTestCase.java161
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/HelloWorldTestCase.java104
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/ScopeTestCase.java65
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/mock/Greeting.java26
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/Foo.java34
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoFunctionInvokerTestCase.java174
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfigTestCase.java116
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptInstanceTestCase.java50
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptTestCase.java83
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDGeneratorTestCase.java129
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/AccountService.wsdl242
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/interopdoc.wsdl180
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/HelloWorld.componentType26
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/HelloWorld.js21
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/IntrospectableHelloWorld.js25
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js29
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/e4x.componentType33
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/e4x.js45
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/helloworld.scdl50
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/propertyTest.componentType28
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/propertyTest.js21
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/requestScope.js30
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/scopeTest.scdl37
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/statelessScope.js29
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/mock/test.js1
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/rhino/helloworld.wsdl78
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/sequences.xsd100
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/pom.xml81
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponent.java134
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java94
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentType.java58
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentTypeLoader.java118
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyImplementation.java48
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyImplementationLoader.java123
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyIntrospector.java173
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyInvoker.java55
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyRefInvocInterceptor.java92
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyReferenceProxy.java127
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubySCAConfig.java159
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyScript.java160
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyScriptInstance.java61
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyUtils.java71
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/resources/META-INF/sca/default.scdl46
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/resources/META-INF/sca/ruby.system.scdl40
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/helloworld/HelloWorldService.java24
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/helloworld/HelloWorldServiceImpl.java42
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/RubyImplementationLoaderTestCase.java109
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/RubyScriptIntrospectorTestCase.java130
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/ScriptInvokeTestCase.java54
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/WireTestCase.java186
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/function/HelloWorldTestCase.java75
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/mock/Greeting.java26
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/HelloWorld.componentType28
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/HelloWorld.rb33
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/IntrospectableHelloWorld.rb30
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/helloworld.scdl44
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/propertyTest.componentType26
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/propertyTest.rb24
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/jruby/helloworld.wsdl78
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/mock/test.rb1
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/.ruleset190
-rwxr-xr-xbranches/sca-java-M2/sca/services/containers/container.spring/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/services/containers/container.spring/README.txt35
-rwxr-xr-xbranches/sca-java-M2/sca/services/containers/container.spring/pom.xml81
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/config/SCANamespaceHandlerResolver.java59
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/config/ScaApplicationContext.java68
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringComponentTypeLoader.java109
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilder.java88
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeComponent.java252
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringImplementationLoader.java196
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInterceptor.java53
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInvoker.java104
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringRuntimeInfo.java63
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringScaAdapter.java54
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringComponentType.java101
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringImplementation.java77
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringServiceContract.java31
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/webapp/ScaWebApplicationContext.java130
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/webapp/SpringWebappRuntimeInfo.java41
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/DefaultScaAdapter.java46
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapter.java45
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapterAware.java31
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapterPostProcessor.java52
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaComposite.java77
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaPostProcessor.java147
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaPropertyProxyFactoryBean.java123
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaServiceExporter.java105
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaServiceProxyFactoryBean.java144
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaCompositeBeanDefinitionParser.java67
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaContextBuilder.java68
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaNamespaceHandler.java44
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaPropertyBeanDefinitionParser.java63
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaReferenceBeanDefinitionParser.java66
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaServiceBeanDefinitionParser.java65
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/intercept/OneWayAdvisor.java82
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/AnnotationServiceMetadata.java95
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/BeanFactoryDeploymentMetadata.java55
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/DeploymentMetadata.java28
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/FieldInjection.java68
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/Injection.java76
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/MethodInjection.java65
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/NoSuchServiceException.java24
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/ServiceMetadata.java56
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/sca/spring.system.scdl40
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/spring.handlers3
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/spring.schemas1
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd101
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringConfigSchemaTestCase.java58
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringTestUtils.java70
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ReferenceInvocationTestCase.java68
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ServiceInvocationTestCase.java76
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilderTestCase.java137
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeComponentTestCase.java64
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringInvocationTestCase.java62
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/integration/BootstrapTestCase.java57
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestBean.java31
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestBeanImpl.java42
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestReference.java26
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/META-INF/sca/application-context.xml32
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/META-INF/sca/default.scdl37
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/org/apache/tuscany/container/spring/ExplicitSpring.xml32
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/org/apache/tuscany/container/spring/SpringConfigSchemaTest.xml35
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/test.xml29
-rw-r--r--branches/sca-java-M2/sca/services/containers/pom.xml84
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-axiom/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-axiom/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-axiom/pom.xml76
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/AxiomDataBinding.java48
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2Object.java40
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2String.java62
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2XMLStreamReader.java50
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java67
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java54
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java88
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/XMLStreamReader2OMElement.java90
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/resources/META-INF/sca/databinding.axiom.scdl57
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/resources/META-INF/sca/default.scdl56
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/java/org/apache/tuscany/databinding/axiom/OMElementTestCase.java68
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/ipo.xml51
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/ipo.xsd136
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/order.wsdl76
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-castor/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-castor/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-castor/pom.xml114
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2Node.java63
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2SAX.java63
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2Writer.java62
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/InputSource2Castor.java63
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Node2Castor.java63
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Reader2Castor.java64
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/java/org/apache/tuscany/databinding/castor/Castor2NodeTestCase.java46
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/binding.xml27
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/ipo.xsd136
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/org/exolab/castor/builder/castorbuilder.properties81
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-jaxb/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-jaxb/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-jaxb/pom.xml133
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXB2Node.java73
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java57
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java109
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandler.java102
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/Node2JAXB.java68
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/Reader2JAXB.java72
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/XMLStreamReader2JAXB.java68
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/resources/META-INF/sca/default.scdl43
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java83
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java105
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/resources/ipo.xsd136
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/pom.xml119
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2String.java69
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReader.java72
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObjectLoader.java87
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java146
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ModelDataObject.java38
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java65
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java52
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOObjectFactory.java47
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java69
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java83
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/String2DataObject.java58
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2String.java63
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReader.java65
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2DataObject.java66
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java61
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/databinding.sdo.scdl68
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/default.scdl66
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObject2StringTestCase.java63
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReaderTestCase.java56
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObjectLoaderTestCase.java73
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOLoaderTestCase.java86
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDODataBindingTestCase.java61
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDOTransformerTestCaseBase.java81
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReaderTestCase.java60
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/META-INF/tuscany/databinding.sdo.scdl34
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/ipo.xsd136
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/model/sca-core.xsd233
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/model/sca-implementation-mock.xsd43
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-test/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-test/pom.xml217
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/JAXBTestCase.java119
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java250
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/XmlObjectTestCase.java110
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/Client.java26
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/ClientImpl.java50
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/DataBindingBootStrapTest.java115
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/Echo.java42
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/EchoImpl.java43
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/sca/default.scdl34
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.axiom.scdl52
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.jaxb.scdl43
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.sdo.scdl58
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.xmlbeans.scdl43
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/interface.wsdl.scdl44
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/test-extensions.scdl30
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xml51
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xsd136
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xsdconfig21
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/pom.xml98
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/Node2XmlObject.java56
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XMLBeansDataBinding.java35
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XMLStreamReader2XmlObject.java56
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XmlObject2Node.java52
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XmlObject2XMLStreamReader.java47
-rw-r--r--branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/resources/META-INF/sca/default.scdl43
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/java/org/apache/tuscany/databinding/xmlbeans/XmlObjectTestCase.java99
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/resources/ipo.xsd136
-rwxr-xr-xbranches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/resources/ipo.xsdconfig21
-rw-r--r--branches/sca-java-M2/sca/services/databinding/pom.xml60
-rw-r--r--branches/sca-java-M2/sca/services/idl/pom.xml61
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/.ruleset190
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/pom.xml57
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospector.java48
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImpl.java103
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLLoader.java155
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidFragmentException.java39
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidWSDLException.java57
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidWSDLLocationException.java39
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/MissingWSDLException.java39
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/NotSupportedWSDLException.java57
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/UnresolveableResourceException.java39
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistry.java89
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistryImpl.java204
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoader.java110
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoaderException.java41
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoaderImpl.java143
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLocation.java60
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLOperation.java500
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLServiceContract.java59
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistry.java87
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistryImpl.java129
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/resources/META-INF/sca/default.scdl50
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/main/resources/META-INF/sca/idl.wsdl.scdl52
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImplTestCase.java82
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistryTestCase.java80
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLLoaderImplTestCase.java53
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLOperationTestCase.java101
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WrapperStyleOperationTestCase.java72
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistryImplTestCase.java105
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/example.wsdl26
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/ipo.xsd136
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/stockquote.wsdl58
-rw-r--r--branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/unwrapped-stockquote.wsdl76
-rw-r--r--branches/sca-java-M2/sca/services/maven/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/maven/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/maven/pom.xml59
-rw-r--r--branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenArtifactRepository.java99
-rw-r--r--branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java291
-rw-r--r--branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/TuscanyDependencyException.java46
-rw-r--r--branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/WarRepositoryHelper.java116
-rw-r--r--branches/sca-java-M2/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java87
-rw-r--r--branches/sca-java-M2/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/WarRepositoryHelperTestCase.java78
-rw-r--r--branches/sca-java-M2/sca/services/maven/src/test/resources/webapp.warbin443672 -> 0 bytes
-rw-r--r--branches/sca-java-M2/sca/services/persistence/common/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/persistence/common/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/persistence/common/pom.xml70
-rw-r--r--branches/sca-java-M2/sca/services/persistence/common/src/main/java/org/apache/tuscany/service/persistence/common/PersistenceUnitProcessor.java77
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/.ruleset190
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/pom.xml62
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/Constants.java35
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerFactoryImplementation.java38
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerObjectFactory.java54
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerProcessor.java78
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/InvalidInjectionSite.java41
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAAtomicComponent.java73
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAComponentBuilder.java57
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAImportLoader.java55
-rw-r--r--branches/sca-java-M2/sca/services/persistence/openjpa/src/test/java/org/apache/tuscany/service/openjpa/EntityManagerProcessorTestCase.java128
-rw-r--r--branches/sca-java-M2/sca/services/persistence/pom.xml61
-rw-r--r--branches/sca-java-M2/sca/services/pom.xml68
-rw-r--r--branches/sca-java-M2/sca/services/transports/http.jetty/.ruleset190
-rw-r--r--branches/sca-java-M2/sca/services/transports/http.jetty/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/services/transports/http.jetty/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/services/transports/http.jetty/pom.xml68
-rw-r--r--branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyLogger.java106
-rw-r--r--branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyService.java38
-rw-r--r--branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyServiceImpl.java314
-rw-r--r--branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/TransportMonitor.java42
-rw-r--r--branches/sca-java-M2/sca/services/transports/http.jetty/src/test/java/org/apache/tuscany/service/jetty/JettyServiceImplTestCase.java173
542 files changed, 0 insertions, 48622 deletions
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/.ruleset b/branches/sca-java-M2/sca/services/bindings/binding.axis2/.ruleset
deleted file mode 100644
index 70a035bc01..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/LICENSE.txt b/branches/sca-java-M2/sca/services/bindings/binding.axis2/LICENSE.txt
deleted file mode 100644
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/NOTICE.txt b/branches/sca-java-M2/sca/services/bindings/binding.axis2/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/pom.xml b/branches/sca-java-M2/sca/services/bindings/binding.axis2/pom.xml
deleted file mode 100755
index e9d32c7f9c..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/pom.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services.bindings</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>axis2</artifactId>
- <name>Apache Tuscany Binding for Axis2</name>
- <description>Implementation of the SCA Web Services binding using Axis2.</description>
-
- <repositories>
- <!-- ws zones repos is for woden -->
- <repository>
- <id>apache.ws.zones</id>
- <name>Apache WS zones Repository</name>
- <url>http://ws.zones.apache.org/repository/</url>
- <layout>legacy</layout>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>wsdl</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <!-- A hack to bring in databinding-axiom transitively -->
- <dependency>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>databinding-axiom</artifactId>
- <version>${sca.version}</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </dependency>
-
- <!-- Axis2 1.1 release -->
-
- <dependency>
- <groupId>org.apache.axis2</groupId>
- <artifactId>axis2-kernel</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-api</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-impl</artifactId>
- </dependency>
-
- <dependency>
- <groupId>incubator-woden</groupId>
- <artifactId>woden</artifactId>
- <version>1.0.0M6</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ws.commons.neethi</groupId>
- <artifactId>neethi</artifactId>
- <version>2.0</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ws.commons.schema</groupId>
- <artifactId>XmlSchema</artifactId>
- </dependency>
-
- <dependency>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>3.0.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.mail</groupId>
- <artifactId>mail</artifactId>
- <version>1.4</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>backport-util-concurrent</groupId>
- <artifactId>backport-util-concurrent</artifactId>
- <version>2.2</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.3</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>httpcomponents-httpcore</groupId>
- <artifactId>jakarta-httpcore</artifactId>
- <version>4.0-alpha2</version>
- <scope>runtime</scope>
- </dependency>
-
- <!-- end Axis2 1.1 release -->
-
- <!-- test dependencies -->
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/assembly/axis2.xml b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/assembly/axis2.xml
deleted file mode 100644
index 7c835caa5c..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/assembly/axis2.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<assembly>
- <id>bin</id>
- <includeBaseDirectory>false</includeBaseDirectory>
- <formats>
- <format>zip</format>
- <format>tar.gz</format>
- </formats>
-
- <dependencySets>
- <dependencySet>
- <outputDirectory>extension</outputDirectory>
- <includes>
- <include>org.apache.tuscany.bindings:axis2</include>
- </includes>
- <fileMode>644</fileMode>
- </dependencySet>
- </dependencySets>
-</assembly>
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2AsyncTargetInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2AsyncTargetInvoker.java
deleted file mode 100644
index 0cf3976f37..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2AsyncTargetInvoker.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.client.OperationClient;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-
-public class Axis2AsyncTargetInvoker extends Axis2TargetInvoker {
-
- protected static final OMElement RESPONSE = null;
-
- private InboundWire wire;
- private Object messageId;
- private Axis2ReferenceCallbackTargetInvoker callbackInvoker;
-
- public Axis2AsyncTargetInvoker(ServiceClient serviceClient,
- QName wsdlOperationName,
- Options options,
- SOAPFactory soapFactory,
- InboundWire wire) {
- super(serviceClient, wsdlOperationName, options, soapFactory);
- this.wire = wire;
- }
-
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
- try {
- Object[] args = (Object[])payload;
- OperationClient operationClient = createOperationClient(args);
- callbackInvoker.setCorrelationId(messageId);
- Axis2ReferenceCallback callback = new Axis2ReferenceCallback(callbackInvoker);
- operationClient.setCallback(callback);
-
- operationClient.execute(false);
-
- // REVIEW it seems ok to return null
- return RESPONSE;
- } catch (AxisFault e) {
- throw new InvocationTargetException(e);
- }
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- wire.addMapping(msg.getMessageId(), msg.getFromAddress());
- messageId = msg.getMessageId();
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-
- public void setCallbackTargetInvoker(Axis2ReferenceCallbackTargetInvoker callbackInvoker) {
- this.callbackInvoker = callbackInvoker;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java
deleted file mode 100755
index 1090be874d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.tuscany.binding.axis2.util.TuscanyAxisConfigurator;
-import org.apache.tuscany.idl.wsdl.InterfaceWSDLIntrospector;
-import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.host.ServletHost;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.IncompatibleServiceContractException;
-
-/**
- * Builds a {@link org.osoa.sca.annotations.Service} or {@link org.apache.tuscany.spi.component.Reference} configured
- * with the Axis2 binding
- *
- * @version $Rev$ $Date$
- */
-public class Axis2BindingBuilder extends BindingBuilderExtension<WebServiceBinding> {
- private static final String OM_DATA_BINDING = OMElement.class.getName();
-
- private ServletHost servletHost;
-
- private ConfigurationContext configContext;
-
- private WorkContext workContext;
-
- private InterfaceWSDLIntrospector introspector;
-
- public Axis2BindingBuilder() {
- initAxis();
- }
-
- @Autowire(required = false)
- public void setServletHost(ServletHost servletHost) {
- this.servletHost = servletHost;
- }
-
- /**
- * @param introspector the introspector to set
- */
- @Autowire
- public void setIntrospector(InterfaceWSDLIntrospector introspector) {
- this.introspector = introspector;
- }
-
- @Autowire
- public void setWorkContext(WorkContext workContext) {
- this.workContext = workContext;
- }
-
- @SuppressWarnings("unchecked")
- public Service build(
- CompositeComponent parent,
- BoundServiceDefinition<WebServiceBinding> serviceDefinition,
- DeploymentContext deploymentContext) {
-
- try {
- // Set the default databinding
- ServiceContract<?> outboundContract = serviceDefinition.getServiceContract();
- if (WSDLServiceContract.class.isInstance(outboundContract)) {
- outboundContract.setDataBinding(OM_DATA_BINDING);
- }
-
- // FIXME: We need to define how the WSDL PortType is honored in the case that
- // both the binding.ws and interface.wsdl are in place.
- // The WSDL portType from the WSDL Port decides the incoming SOAP message format
- // There are also cases that interface.java is used.
-
- ServiceContract<?> inboundContract = null;
- WebServiceBinding wsBinding = serviceDefinition.getBinding();
- Port port = wsBinding.getWSDLPort();
- if (port == null) {
- // FIXME: [rfeng] No WSDL is referenced by binding.ws, we need to create one from
- // the outbound service contract if it's JavaServiceContract
- inboundContract = outboundContract;
- }
-
- PortType portType = wsBinding.getWSDLPort().getBinding().getPortType();
- inboundContract = introspector.introspect(portType);
-
- // FIXME:
- inboundContract.setInterfaceClass(serviceDefinition.getServiceContract().getInterfaceClass());
- inboundContract.setDataBinding(OM_DATA_BINDING);
- inboundContract.setCallbackName(serviceDefinition.getServiceContract().getCallbackName());
-
- try {
- wireService.checkCompatibility(inboundContract, outboundContract, true);
- } catch (IncompatibleServiceContractException e) {
- throw new Axis2BindingBuilderRuntimeException(e);
- }
-
- Service service = new Axis2Service(serviceDefinition.getName(), outboundContract, parent, wireService, wsBinding,
- servletHost, configContext, workContext);
- service.setBindingServiceContract(inboundContract);
-
- return service;
-
- } catch (InvalidServiceContractException e) {
- throw new Axis2BindingBuilderRuntimeException(e);
- }
- }
-
- @SuppressWarnings("unchecked")
- public Reference build(
- CompositeComponent parent,
- BoundReferenceDefinition<WebServiceBinding> boundReferenceDefinition,
- DeploymentContext deploymentContext) {
-
- try {
- // Set the default binding
- ServiceContract<?> inboundContract = boundReferenceDefinition.getServiceContract();
- if (WSDLServiceContract.class.isInstance(inboundContract)) {
- inboundContract.setDataBinding(OM_DATA_BINDING);
- }
-
- // FIXME: We need to define how the WSDL PortType is honored in the case that
- // both the binding.ws and interface.wsdl are in place
- // The WSDL portType from the WSDL Port decides the incoming SOAP message format
-
- ServiceContract<?> outboundContract = inboundContract;
- WebServiceBinding wsBinding = boundReferenceDefinition.getBinding();
- Port port = wsBinding.getWSDLPort();
- if (port == null) {
- // FIXME: [rfeng] No WSDL is referenced by binding.ws, we need to create one from
- // the inbound service contract if it's JavaServiceContract
- outboundContract = inboundContract;
- }
- PortType portType = port.getBinding().getPortType();
- outboundContract = introspector.introspect(portType);
-
- // Set the default databinding
- outboundContract.setDataBinding(OM_DATA_BINDING);
-
- try {
- wireService.checkCompatibility(inboundContract, outboundContract, true);
- } catch (IncompatibleServiceContractException e) {
- throw new Axis2BindingBuilderRuntimeException(e);
- }
-
- Reference reference = new Axis2Reference(boundReferenceDefinition.getName(), parent, wireService, wsBinding,
- inboundContract, workContext);
- reference.setBindingServiceContract(outboundContract);
-
- return reference;
-
- } catch (InvalidServiceContractException e) {
- throw new Axis2BindingBuilderRuntimeException(e);
- }
- }
-
- protected Class<WebServiceBinding> getBindingType() {
- return WebServiceBinding.class;
- }
-
- protected void initAxis() {
- // TODO: Fix classloader switching. See TUSCANY-647
- // TODO: also consider having a system component wrapping the Axis2 ConfigContext
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- ClassLoader scl = getClass().getClassLoader();
- try {
- if (tccl != scl) {
- Thread.currentThread().setContextClassLoader(scl);
- }
- try {
- this.configContext = new TuscanyAxisConfigurator().getConfigurationContext();
- } catch (AxisFault e) {
- throw new BuilderConfigException(e);
- }
- } finally {
- if (tccl != scl) {
- Thread.currentThread().setContextClassLoader(tccl);
- }
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilderRuntimeException.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilderRuntimeException.java
deleted file mode 100644
index a5743668a4..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilderRuntimeException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-
-/**
- * Base class for Exceptions raised during the loading process. Loader implementations should throw a subclass of this
- * to indicate the actual problem.
- *
- * @version $Rev$ $Date$
- */
-public class Axis2BindingBuilderRuntimeException extends Axis2BindingRunTimeException {
- private static final long serialVersionUID = -7459051598906813461L;
- private String resourceURI;
-
- public Axis2BindingBuilderRuntimeException() {
- }
-
- public Axis2BindingBuilderRuntimeException(String message) {
- super(message);
- }
-
- public Axis2BindingBuilderRuntimeException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public Axis2BindingBuilderRuntimeException(Throwable cause) {
- super(cause);
- }
-
- /**
- * Returns the location of the resource that was being loaded.
- *
- * @return the location of the resource that was being loaded
- */
- public String getResourceURI() {
- return resourceURI;
- }
-
- /**
- * Sets the location of the resource that was being loaded.
- *
- * @param resourceURI the location of the resource that was being loaded
- */
- public void setResourceURI(String resourceURI) {
- this.resourceURI = resourceURI;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingRunTimeException.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingRunTimeException.java
deleted file mode 100644
index cd957c2ec6..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingRunTimeException.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * Denotes an error creating a new object instance
- *
- * @version $Rev$ $Date$
- */
-public class Axis2BindingRunTimeException extends TuscanyRuntimeException {
- private static final long serialVersionUID = -6423113430265944499L;
-
- public Axis2BindingRunTimeException() {
- super();
- }
-
- public Axis2BindingRunTimeException(String message) {
- super(message);
- }
-
- public Axis2BindingRunTimeException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public Axis2BindingRunTimeException(Throwable cause) {
- super(cause);
- }
-
-}
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2CallbackInvocationHandler.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2CallbackInvocationHandler.java
deleted file mode 100644
index 4a9e054237..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2CallbackInvocationHandler.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.util.Map;
-
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.AbstractOutboundInvocationHandler;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundInvocationChain;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-public class Axis2CallbackInvocationHandler extends AbstractOutboundInvocationHandler {
-
- private InboundWire inboundWire;
- private Object messageId;
- private Object correlationId;
-
- public Axis2CallbackInvocationHandler(InboundWire inboundWire) {
- this.inboundWire = inboundWire;
- }
-
- public Object invoke(Operation operation, Object[] args) throws Throwable {
- Object targetAddress = inboundWire.retrieveMapping(correlationId);
- if (targetAddress == null) {
- throw new AssertionError("No from address associated with message id [" + correlationId + "]");
- }
- //TODO optimize as this is slow in local invocations
- Map<Operation<?>, OutboundInvocationChain> sourceCallbackInvocationChains =
- inboundWire.getSourceCallbackInvocationChains(targetAddress);
- OutboundInvocationChain chain = sourceCallbackInvocationChains.get(operation);
- TargetInvoker invoker = chain.getTargetInvoker();
- return invoke(chain, invoker, args);
- }
-
- // This must be called before invoke
- public void setMessageId(Object messageId) {
- this.messageId = messageId;
- }
-
- // This must be called before invoke
- public void setCorrelationId(Object correlationId) {
- this.correlationId = correlationId;
- }
-
- protected Object getFromAddress() {
- return (inboundWire.getContainer() == null) ? null : inboundWire.getContainer().getName();
- }
-
- protected Object getMessageId() {
- return messageId;
- }
-
- protected Object getCorrelationId() {
- return correlationId;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2OneWayTargetInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2OneWayTargetInvoker.java
deleted file mode 100644
index a85c57313f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2OneWayTargetInvoker.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.client.OperationClient;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-
-public class Axis2OneWayTargetInvoker extends Axis2TargetInvoker {
-
- protected static final OMElement RESPONSE = null;
-
- public Axis2OneWayTargetInvoker(ServiceClient serviceClient,
- QName wsdlOperationName,
- Options options,
- SOAPFactory soapFactory) {
-
- super(serviceClient, wsdlOperationName, options, soapFactory);
- }
-
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
- try {
- Object[] args = (Object[])payload;
- OperationClient operationClient = createOperationClient(args);
-
- operationClient.execute(false);
-
- // REVIEW it seems ok to return null
- return RESPONSE;
- } catch (AxisFault e) {
- throw new InvocationTargetException(e);
- } catch (Throwable t) {
- throw new Axis2BindingRunTimeException(t);
- }
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2Reference.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2Reference.java
deleted file mode 100755
index 53ae1ae51e..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2Reference.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.util.Collection;
-
-import javax.wsdl.Definition;
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.transport.http.HTTPConstants;
-import org.apache.tuscany.binding.axis2.util.TuscanyAxisConfigurator;
-import org.apache.tuscany.binding.axis2.util.WebServiceOperationMetaData;
-import org.apache.tuscany.binding.axis2.util.WebServicePortMetaData;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.extension.ReferenceExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-
-/**
- * Axis2Reference uses Axis2 to invoke a remote web service
- */
-public class Axis2Reference<T> extends ReferenceExtension {
-
- private WebServicePortMetaData wsPortMetaData;
- private ServiceClient serviceClient;
-
- // private WorkContext workContext;
-
- @SuppressWarnings("unchecked")
- public Axis2Reference(String theName,
- CompositeComponent parent,
- WireService wireService,
- WebServiceBinding wsBinding,
- ServiceContract contract,
- WorkContext workContext) {
- super(theName, (Class<T>)contract.getInterfaceClass(), parent, wireService);
- try {
- Definition wsdlDefinition = wsBinding.getWSDLDefinition();
- wsPortMetaData =
- new WebServicePortMetaData(wsdlDefinition, wsBinding.getWSDLPort(), wsBinding.getURI(), false);
- serviceClient = createServiceClient(wsdlDefinition, wsPortMetaData);
- // this.workContext = workContext;
- } catch (AxisFault e) {
- throw new Axis2BindingRunTimeException(e);
- }
- }
-
- public TargetInvoker createTargetInvoker(ServiceContract contract, Operation operation) {
- Axis2TargetInvoker invoker;
- try {
- boolean isOneWay = operation.isNonBlocking();
- invoker = createOperationInvoker(serviceClient, operation, wsPortMetaData, false, isOneWay);
- } catch (AxisFault e) {
- throw new Axis2BindingRunTimeException(e);
- }
- return invoker;
- }
-
- public TargetInvoker createAsyncTargetInvoker(OutboundWire wire, Operation operation) {
- Axis2AsyncTargetInvoker invoker;
- try {
- // FIXME: SDODataBinding needs to pass in TypeHelper and classLoader
- // as parameters.
- invoker =
- (Axis2AsyncTargetInvoker)createOperationInvoker(serviceClient,
- operation,
- wsPortMetaData,
- true,
- false);
- // FIXME: This makes the (BIG) assumption that there is only one
- // callback method
- // Relaxing this assumption, however, does not seem to be trivial,
- // it may depend on knowledge
- // of what actual callback method was invoked by the service at the
- // other end
- Operation callbackOperation = findCallbackOperation();
- Axis2CallbackInvocationHandler invocationHandler =
- new Axis2CallbackInvocationHandler(inboundWire);
- Axis2ReferenceCallbackTargetInvoker callbackInvoker =
- new Axis2ReferenceCallbackTargetInvoker(callbackOperation, inboundWire, invocationHandler);
- invoker.setCallbackTargetInvoker(callbackInvoker);
- } catch (AxisFault e) {
- throw new Axis2BindingRunTimeException(e);
- }
- return invoker;
- }
-
- private Operation findCallbackOperation() {
- ServiceContract contract = inboundWire.getServiceContract();
- Operation callbackOperation = null;
- Collection callbackOperations = contract.getCallbackOperations().values();
- if (callbackOperations.size() != 1) {
- throw new Axis2BindingRunTimeException("Can only handle one callback operation");
- } else {
- callbackOperation = (Operation)callbackOperations.iterator().next();
- }
- return callbackOperation;
- }
-
- /**
- * Create an Axis2 ServiceClient
- */
- private ServiceClient createServiceClient(Definition wsdlDefinition, WebServicePortMetaData wsPortMetaData)
- throws AxisFault {
-
- TuscanyAxisConfigurator tuscanyAxisConfigurator = new TuscanyAxisConfigurator();
- ConfigurationContext configurationContext = tuscanyAxisConfigurator.getConfigurationContext();
- QName serviceQName = wsPortMetaData.getServiceName();
- String portName = wsPortMetaData.getPortName().getLocalPart();
- AxisService axisService =
- AxisService.createClientSideAxisService(wsdlDefinition, serviceQName, portName, new Options());
- return new ServiceClient(configurationContext, axisService);
- }
-
- /**
- * Create and configure an Axis2TargetInvoker for each operations
- */
- private Axis2TargetInvoker createOperationInvoker(ServiceClient serviceClient,
- Operation m,
- WebServicePortMetaData wsPortMetaData,
- boolean hasCallback,
- boolean isOneWay) throws AxisFault {
- SOAPFactory soapFactory = OMAbstractFactory.getSOAP11Factory();
- String portTypeNS = wsPortMetaData.getPortTypeName().getNamespaceURI();
-
- String methodName = m.getName();
-
- WebServiceOperationMetaData operationMetaData = wsPortMetaData.getOperationMetaData(methodName);
-
- Options options = new Options();
- options.setTo(new EndpointReference(wsPortMetaData.getEndpoint()));
- options.setProperty(HTTPConstants.CHUNKED, Boolean.FALSE);
-
- String wsdlOperationName = operationMetaData.getBindingOperation().getOperation().getName();
-
- String soapAction = wsPortMetaData.getOperationMetaData(wsdlOperationName).getSOAPAction();
- if (soapAction != null && soapAction.length() > 1) {
- options.setAction(soapAction);
- }
-
- options.setTimeOutInMilliSeconds(5 * 60 * 1000);
-
- QName wsdlOperationQName = new QName(portTypeNS, wsdlOperationName);
-
- Axis2TargetInvoker invoker;
- if (hasCallback) {
- invoker =
- new Axis2AsyncTargetInvoker(serviceClient, wsdlOperationQName, options, soapFactory,
- inboundWire);
- } else if (isOneWay) {
- invoker = new Axis2OneWayTargetInvoker(serviceClient, wsdlOperationQName, options, soapFactory);
- } else {
- invoker = new Axis2TargetInvoker(serviceClient, wsdlOperationQName, options, soapFactory);
- }
-
- return invoker;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceCallback.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceCallback.java
deleted file mode 100644
index d6bb1a0290..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceCallback.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axis2.client.async.AsyncResult;
-import org.apache.axis2.client.async.Callback;
-import org.apache.axis2.context.MessageContext;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-
-public class Axis2ReferenceCallback extends Callback {
-
- private Axis2ReferenceCallbackTargetInvoker targetInvoker;
-
- public Axis2ReferenceCallback(Axis2ReferenceCallbackTargetInvoker targetInvoker) {
- this.targetInvoker = targetInvoker;
- }
-
- public void onComplete(AsyncResult result) {
- MessageContext responseMC = result.getResponseMessageContext();
- OMElement responseOM = responseMC.getEnvelope().getBody().getFirstElement();
- try {
- targetInvoker.invokeTarget(new Object[] {responseOM});
- } catch (InvocationTargetException e) {
- // FIXME what is the appropriate exception here?
- throw new InvocationRuntimeException(e);
- }
- }
-
- public void setComplete(boolean complete) {
- super.setComplete(complete);
- }
-
- public void onError(Exception e) {
- throw new InvocationRuntimeException(e);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceCallbackTargetInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceCallbackTargetInvoker.java
deleted file mode 100644
index 87f9b5654b..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ReferenceCallbackTargetInvoker.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-public class Axis2ReferenceCallbackTargetInvoker implements TargetInvoker {
-
- private Operation operation;
- private InboundWire inboundWire;
- private Object correlationId;
- private boolean cacheable;
- Axis2CallbackInvocationHandler invocationHandler;
-
- public Axis2ReferenceCallbackTargetInvoker(Operation operation,
- InboundWire inboundWire,
- Axis2CallbackInvocationHandler invocationHandler) {
-
- this.operation = operation;
- this.inboundWire = inboundWire;
- this.invocationHandler = invocationHandler;
- }
-
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
- invocationHandler.setMessageId(null);
- invocationHandler.setCorrelationId(correlationId);
- Object[] args;
- if (payload != null && !payload.getClass().isArray()) {
- args = new Object[]{payload};
- } else {
- args = (Object[]) payload;
- }
- try {
- return invocationHandler.invoke(operation, args);
- } catch(Throwable t) {
- t.printStackTrace();
- throw new InvocationTargetException(t);
- }
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBodyWithFault(e.getCause());
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-
- public boolean isCacheable() {
- return cacheable;
- }
-
- public void setCacheable(boolean cacheable) {
- this.cacheable = cacheable;
- }
-
- public boolean isOptimizable() {
- return isCacheable(); // we only need to check if the scopes are correct
- }
-
- public Axis2ReferenceCallbackTargetInvoker clone() throws CloneNotSupportedException {
- Axis2ReferenceCallbackTargetInvoker invoker = (Axis2ReferenceCallbackTargetInvoker) super.clone();
- invoker.operation = this.operation;
- invoker.inboundWire = this.inboundWire;
- invoker.correlationId = this.correlationId;
- invoker.cacheable = this.cacheable;
- invoker.invocationHandler = this.invocationHandler;
- return invoker;
- }
-
- public void setCorrelationId(Object correlationId) {
- this.correlationId = correlationId;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2Service.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2Service.java
deleted file mode 100755
index 47c9d8308a..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2Service.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.CountDownLatch;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.Parameter;
-import org.apache.axis2.description.WSDL11ToAxisServiceBuilder;
-import org.apache.axis2.description.WSDLToAxisServiceBuilder;
-import org.apache.axis2.engine.MessageReceiver;
-import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.axis2.wsdl.WSDLConstants.WSDL20_2004Constants;
-import org.apache.tuscany.binding.axis2.util.WebServicePortMetaData;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.host.ServletHost;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.Interceptor;
-import org.apache.tuscany.spi.wire.InvocationChain;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.MessageId;
-import org.apache.tuscany.spi.wire.MessageImpl;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-import org.osoa.sca.annotations.Destroy;
-
-/**
- * An implementation of a {@link ServiceExtension} configured with the Axis2
- * binding
- *
- * @version $Rev$ $Date$
- */
-public class Axis2Service extends ServiceExtension {
- private ServiceContract<?> serviceContract;
-
- private ServletHost servletHost;
-
- private ConfigurationContext configContext;
-
- private WebServiceBinding binding;
-
- private WorkContext workContext;
-
- private Map<MessageId, InvocationContext> invCtxMap = new HashMap<MessageId, InvocationContext>();
-
- private String serviceName;
-
- public Axis2Service(String theName,
- ServiceContract<?> serviceContract,
- CompositeComponent parent,
- WireService wireService,
- WebServiceBinding binding,
- ServletHost servletHost,
- ConfigurationContext configContext,
- WorkContext workContext) {
-
- super(theName, serviceContract.getInterfaceClass(), parent, wireService);
-
- this.serviceContract = serviceContract;
- this.binding = binding;
- this.servletHost = servletHost;
- this.configContext = configContext;
- this.workContext = workContext;
- this.serviceName = theName;
- }
-
- public void start() {
- super.start();
-
- try {
- configContext.getAxisConfiguration().addService(createAxisService(binding));
- } catch (AxisFault e) {
- throw new Axis2BindingRunTimeException(e);
- }
-
- Axis2ServiceServlet servlet = new Axis2ServiceServlet();
- servlet.init(configContext);
- configContext.setContextRoot(getName());
- servletHost.registerMapping("/" + getName(), servlet);
- }
-
- @Destroy
- public void stop() {
- servletHost.unregisterMapping("/" + getName());
- try {
- configContext.getAxisConfiguration().removeService(getName());
- } catch (AxisFault e) {
- throw new Axis2BindingRunTimeException(e);
- }
- super.stop();
- }
-
- private AxisService createAxisService(WebServiceBinding wsBinding) throws AxisFault {
- Definition definition = wsBinding.getWSDLDefinition();
- WebServicePortMetaData wsdlPortInfo =
- new WebServicePortMetaData(definition, wsBinding.getWSDLPort(), null, false);
-
- // TODO investigate if this is 20 wsdl what todo?
- WSDLToAxisServiceBuilder builder =
- new WSDL11ToAxisServiceBuilder(definition, wsdlPortInfo.getServiceName(), wsdlPortInfo.getPort()
- .getName());
- builder.setServerSide(true);
- AxisService axisService = builder.populateService();
-
- axisService.setName(this.getName());
- axisService.setServiceDescription("Tuscany configured AxisService for service: '" + this.getName()
- + "'");
-
- // Use the existing WSDL
- Parameter wsdlParam = new Parameter(WSDLConstants.WSDL_4_J_DEFINITION, null);
- wsdlParam.setValue(definition);
- axisService.addParameter(wsdlParam);
- Parameter userWSDL = new Parameter("useOriginalwsdl", "true");
- axisService.addParameter(userWSDL);
-
- PortType wsdlPortType = wsdlPortInfo.getPortType();
- for (Object o : wsdlPortType.getOperations()) {
- Operation wsdlOperation = (Operation)o;
- String operationName = wsdlOperation.getName();
- QName operationQN = new QName(definition.getTargetNamespace(), operationName);
-
- org.apache.tuscany.spi.model.Operation<?> op = serviceContract.getOperations().get(operationName);
-
- MessageReceiver msgrec = null;
- boolean opIsNonBlocking = op.isNonBlocking();
- if (serviceContract.getCallbackName() != null) {
- msgrec = new Axis2ServiceInOutAsyncMessageReceiver(this, op, workContext);
- } else if (opIsNonBlocking) {
- msgrec = new Axis2ServiceInMessageReceiver(this, op);
- } else {
- msgrec = new Axis2ServiceInOutSyncMessageReceiver(this, op);
- }
-
- AxisOperation axisOp = axisService.getOperation(operationQN);
- if (opIsNonBlocking) {
- axisOp.setMessageExchangePattern(WSDL20_2004Constants.MEP_URI_IN_ONLY);
- } else {
- axisOp.setMessageExchangePattern(WSDL20_2004Constants.MEP_URI_IN_OUT);
- }
- axisOp.setMessageReceiver(msgrec);
- }
-
- return axisService;
- }
-
- public Object invokeTarget(org.apache.tuscany.spi.model.Operation<?> op, Object[] args)
- throws InvocationTargetException {
- InvocationChain chain = inboundWire.getInvocationChains().get(op);
- Interceptor headInterceptor = chain.getHeadInterceptor();
- if (headInterceptor == null) {
- try {
- // short-circuit the dispatch and invoke the target directly
- if (chain.getTargetInvoker() == null) {
- throw new AssertionError("No target invoker [" + chain.getOperation().getName() + "]");
- }
- return chain.getTargetInvoker().invokeTarget(args);
- } catch (InvocationTargetException e) {
- // the cause was thrown by the target so throw it
- throw e;
- }
- } else {
- Object messageId = workContext.getCurrentMessageId();
- workContext.setCurrentMessageId(null);
- Object correlationId = workContext.getCurrentCorrelationId();
- workContext.setCurrentCorrelationId(null);
-
- Message msg = new MessageImpl();
- msg.setTargetInvoker(chain.getTargetInvoker());
- msg.setFromAddress(getFromAddress());
- if (messageId == null) {
- messageId = new MessageId();
- }
- msg.setMessageId(messageId);
- msg.setCorrelationId(correlationId);
- msg.setBody(args);
- Message resp;
- // dispatch the wire down the chain and get the response
- // TODO http://issues.apache.org/jira/browse/TUSCANY-777
- ClassLoader oldtccl = Thread.currentThread().getContextClassLoader();
- try {
- Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
- resp = headInterceptor.invoke(msg);
- } finally {
- Thread.currentThread().setContextClassLoader(oldtccl);
- }
- Object body = resp.getBody();
- if (resp.isFault()) {
- throw new InvocationTargetException((Throwable)body);
- }
- return body;
- }
- }
-
- protected Object getFromAddress() {
- return this.serviceName;
- }
-
- /**
- * Get the Method from an interface matching the WSDL operation name
- */
- protected Method getMethod(Class<?> serviceInterface, String operationName) {
- // Note: this doesn't support overloaded operations
- Method[] methods = serviceInterface.getMethods();
- for (Method m : methods) {
- if (m.getName().equals(operationName)) {
- return m;
- }
- // tolerate WSDL with capatalized operation name
- StringBuilder sb = new StringBuilder(operationName);
- sb.setCharAt(0, Character.toLowerCase(sb.charAt(0)));
- if (m.getName().equals(sb.toString())) {
- return m;
- }
- }
- throw new BuilderConfigException("no operation named " + operationName
- + " found on service interface: "
- + serviceInterface.getName());
- }
-
- public TargetInvoker createCallbackTargetInvoker(ServiceContract contract,
- org.apache.tuscany.spi.model.Operation operation) {
-
- return new Axis2ServiceCallbackTargetInvoker(workContext, this);
- }
-
- public void addMapping(MessageId msgId, InvocationContext invCtx) {
- this.invCtxMap.put(msgId, invCtx);
- }
-
- public InvocationContext retrieveMapping(MessageId msgId) {
- return this.invCtxMap.get(msgId);
- }
-
- public void removeMapping(MessageId msgId) {
- this.invCtxMap.remove(msgId);
- }
-
- protected class InvocationContext {
- public MessageContext inMessageContext;
-
- public org.apache.tuscany.spi.model.Operation<?> operation;
-
- public SOAPFactory soapFactory;
-
- public CountDownLatch doneSignal;
-
- public InvocationContext(MessageContext messageCtx,
- org.apache.tuscany.spi.model.Operation<?> operation,
- SOAPFactory soapFactory,
- CountDownLatch doneSignal) {
- this.inMessageContext = messageCtx;
- this.operation = operation;
- this.soapFactory = soapFactory;
- this.doneSignal = doneSignal;
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceCallbackTargetInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceCallbackTargetInvoker.java
deleted file mode 100644
index ca7812e01b..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceCallbackTargetInvoker.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.engine.AxisEngine;
-import org.apache.axis2.util.Utils;
-import org.apache.tuscany.binding.axis2.Axis2Service.InvocationContext;
-import org.apache.tuscany.binding.axis2.Axis2AsyncTargetInvoker;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.MessageId;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-public class Axis2ServiceCallbackTargetInvoker implements TargetInvoker {
-
- private Axis2Service service;
-
- private MessageId currentCorrelationId;
-
- public Axis2ServiceCallbackTargetInvoker(WorkContext workContext, Axis2Service service) {
- this.service = service;
- }
-
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
- try {
- // Use current correlation id as index to retrieve inv context
- InvocationContext invCtx = service.retrieveMapping(this.currentCorrelationId);
-
- MessageContext outMC = Utils.createOutMessageContext(invCtx.inMessageContext);
- outMC.getOperationContext().addMessageContext(outMC);
-
- OMElement responseOM = null;
- if (payload != null && !payload.getClass().isArray()) {
- responseOM = (OMElement)payload;
- } else {
- responseOM = (OMElement)((Object[])payload)[0];
- }
- SOAPEnvelope soapEnvelope = invCtx.soapFactory.getDefaultEnvelope();
- soapEnvelope.getBody().addChild(responseOM);
- outMC.setEnvelope(soapEnvelope);
- outMC.getOperationContext().setProperty(Constants.RESPONSE_WRITTEN, Constants.VALUE_TRUE);
-
- AxisEngine engine =
- new AxisEngine(invCtx.inMessageContext.getOperationContext().getServiceContext().getConfigurationContext());
- engine.send(outMC);
-
- invCtx.doneSignal.countDown();
-
- service.removeMapping(this.currentCorrelationId);
- } catch (AxisFault e) {
- throw new InvocationTargetException(e);
- } catch(Throwable t) {
- throw new Axis2BindingRunTimeException(t);
- }
-
- return Axis2AsyncTargetInvoker.RESPONSE;
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- this.currentCorrelationId = (MessageId)msg.getCorrelationId();
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-
- public Axis2ServiceCallbackTargetInvoker clone() throws CloneNotSupportedException {
- try {
- return (Axis2ServiceCallbackTargetInvoker)super.clone();
- } catch (CloneNotSupportedException e) {
- // will not happen
- return null;
- }
- }
-
- public boolean isCacheable() {
- return true;
- }
-
- public void setCacheable(boolean cacheable) {
-
- }
-
- public boolean isOptimizable() {
- return false;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInMessageReceiver.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInMessageReceiver.java
deleted file mode 100644
index 3b1b0d25e4..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInMessageReceiver.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.receivers.AbstractInMessageReceiver;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-
-public class Axis2ServiceInMessageReceiver extends AbstractInMessageReceiver {
-
- protected Operation<?> operation;
-
- private Axis2Service axis2Service;
-
- public Axis2ServiceInMessageReceiver(Axis2Service service, Operation<?> operation) {
- this.axis2Service = service;
- this.operation = operation;
- }
-
- public Axis2ServiceInMessageReceiver() {
-
- }
-
- @Override
- public void invokeBusinessLogic(MessageContext inMC) throws AxisFault {
- try {
- OMElement requestOM = inMC.getEnvelope().getBody().getFirstElement();
- Object[] args = new Object[] {requestOM};
-
- axis2Service.invokeTarget(operation, args);
-
- } catch (InvocationTargetException e) {
- Throwable t = e.getCause();
- if (t instanceof Exception) {
- throw AxisFault.makeFault((Exception)t);
- }
- throw new InvocationRuntimeException(e);
- } catch (Throwable t) {
- if (t instanceof Exception) {
- throw AxisFault.makeFault((Exception)t);
- }
- throw new Axis2BindingRunTimeException(t);
- }
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutAsyncMessageReceiver.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutAsyncMessageReceiver.java
deleted file mode 100644
index f83862399c..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutAsyncMessageReceiver.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.concurrent.CountDownLatch;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.receivers.AbstractMessageReceiver;
-import org.apache.tuscany.binding.axis2.Axis2Service.InvocationContext;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.MessageId;
-
-public class Axis2ServiceInOutAsyncMessageReceiver extends AbstractMessageReceiver {
-
- private Operation<?> operation;
-
- private WorkContext workContext;
-
- private Axis2Service service;
-
- public Axis2ServiceInOutAsyncMessageReceiver(Axis2Service service,
- Operation operation,
- WorkContext workContext) {
- this.operation = operation;
- this.workContext = workContext;
- this.service = service;
- }
-
- public Axis2ServiceInOutAsyncMessageReceiver() {
- }
-
- public final void receive(final MessageContext messageCtx) {
- try {
- // Create a new message id and hand it to
- // JDKInboundInvocationHandler
- // via work context
- MessageId messageId = new MessageId();
- workContext.setCurrentMessageId(messageId);
- // Now use message id as index to context to be used by callback
- // target invoker
- CountDownLatch doneSignal = new CountDownLatch(1);
- InvocationContext invCtx =
- service.new InvocationContext(messageCtx, operation, getSOAPFactory(messageCtx), doneSignal);
- service.addMapping(messageId, invCtx);
-
- invokeBusinessLogic(messageCtx);
-
- try {
- doneSignal.await();
- } catch(InterruptedException e) {
- e.printStackTrace();
- }
- } catch (AxisFault e) {
- // log.error(e);
- }
- }
-
- public void invokeBusinessLogic(MessageContext inMC) throws AxisFault {
- try {
- OMElement requestOM = inMC.getEnvelope().getBody().getFirstElement();
- Object[] args = new Object[] {requestOM};
- service.invokeTarget(operation, args);
- } catch (InvocationTargetException e) {
- Throwable t = e.getCause();
- if (t instanceof Exception) {
- throw AxisFault.makeFault((Exception)t);
- }
- throw new InvocationRuntimeException(e);
- } catch (Exception e) {
- throw AxisFault.makeFault(e);
- }
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutSyncMessageReceiver.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutSyncMessageReceiver.java
deleted file mode 100644
index 4522632d9f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceInOutSyncMessageReceiver.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-
-public class Axis2ServiceInOutSyncMessageReceiver extends AbstractInOutSyncMessageReceiver {
-
- protected Operation<?> operation;
-
- private Axis2Service axis2Service;
-
- public Axis2ServiceInOutSyncMessageReceiver(Axis2Service service, Operation<?> operation) {
- this.axis2Service = service;
- this.operation = operation;
- }
-
- public Axis2ServiceInOutSyncMessageReceiver() {
-
- }
-
- @Override
- public void invokeBusinessLogic(MessageContext inMC, MessageContext outMC) throws AxisFault {
- try {
- OMElement requestOM = inMC.getEnvelope().getBody().getFirstElement();
- Object[] args = new Object[] {requestOM};
-
- OMElement responseOM = (OMElement)axis2Service.invokeTarget(operation, args);
-
- SOAPEnvelope soapEnvelope = getSOAPFactory(inMC).getDefaultEnvelope();
- soapEnvelope.getBody().addChild(responseOM);
- outMC.setEnvelope(soapEnvelope);
- outMC.getOperationContext().setProperty(Constants.RESPONSE_WRITTEN, Constants.VALUE_TRUE);
-
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- Throwable t = e.getCause();
- if (t instanceof Exception) {
- throw AxisFault.makeFault((Exception)t);
- }
- throw new InvocationRuntimeException(e);
- } catch (Exception e) {
- e.printStackTrace();
- throw AxisFault.makeFault(e);
- }
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceServlet.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceServlet.java
deleted file mode 100644
index cab5b28ee7..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2ServiceServlet.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.Set;
-import java.util.Vector;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.Servlet;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.transport.http.AxisServlet;
-
-/**
- * This overrides the servlet init of the AxisServlet so Tuscany can use
- * a single Axis2 ConfigurationContext instance shared between AxisServlet
- * instances for each SCA service with a ws binding.
- * TODO: need to review if thats really what we want to be doing
- */
-public class Axis2ServiceServlet extends AxisServlet {
-
- private static final long serialVersionUID = 1L;
-
- private static final ServletConfig DUMMY_CONFIG = createDummyServletConfig();
-
- private boolean inited;
-
- public void init(ConfigurationContext configContext) {
- this.configContext = configContext;
- try {
- super.init(DUMMY_CONFIG);
- } catch (ServletException e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * We've setup the Servlet by passing in a ConfigurationContext on our init method
- * override this method to just return that
- */
- @Override
- protected ConfigurationContext initConfigContext(ServletConfig config) throws ServletException {
- return this.configContext;
- }
-
- /**
- * The AxisServlet gets NPE during init without a ServletConfig so this is a mocked up one to prevent that.
- */
- private static ServletConfig createDummyServletConfig() {
- ServletConfig sc = new ServletConfig() {
-
- public String getServletName() {
- return "TuscanyAxis2DummyServlet";
- }
-
- public ServletContext getServletContext() {
- return new ServletContext() {
-
- public ServletContext getContext(String uripath) {
- return null;
- }
-
- public int getMajorVersion() {
- return 0;
- }
-
- public int getMinorVersion() {
- return 0;
- }
-
- public String getMimeType(String file) {
- return null;
- }
-
- public Set getResourcePaths(String path) {
- return Collections.emptySet();
- }
-
- public URL getResource(String path) throws MalformedURLException {
- if("/".equals(path)) {
- // HACK: To avoid NPE
- return new URL("/axis2");
- }
- return null;
- }
-
- public InputStream getResourceAsStream(String path) {
- return null;
- }
-
- public RequestDispatcher getRequestDispatcher(String path) {
- return null;
- }
-
- public RequestDispatcher getNamedDispatcher(String arg0) {
- return null;
- }
-
- public Servlet getServlet(String arg0) throws ServletException {
- return null;
- }
-
- public Enumeration getServlets() {
- return null;
- }
-
- public Enumeration getServletNames() {
- return null;
- }
-
- public void log(String arg0) {
- }
-
- public void log(Exception arg0, String arg1) {
- }
-
- public void log(String arg0, Throwable arg1) {
- }
-
- public String getRealPath(String arg0) {
- return null;
- }
-
- public String getServerInfo() {
- return null;
- }
-
- public String getInitParameter(String arg0) {
- return null;
- }
-
- public Enumeration getInitParameterNames() {
- return null;
- }
-
- public Object getAttribute(String arg0) {
- return null;
- }
-
- public Enumeration getAttributeNames() {
- return null;
- }
-
- public void setAttribute(String arg0, Object arg1) {
- }
-
- public void removeAttribute(String arg0) {
- }
-
- public String getServletContextName() {
- return null;
- }
- };
- }
-
- public String getInitParameter(String arg0) {
- return null;
- }
-
- public Enumeration getInitParameterNames() {
- return new Vector().elements();
- }
- };
- return sc;
- }
-
- @Override
- protected void service(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- // HACK: Get the correct context root which is not available during init() call
- if (!inited) {
- synchronized (configContext) {
- configContext.setContextRoot(request.getContextPath());
- inited = true;
- }
- }
- super.service(request, response);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java
deleted file mode 100755
index 175f995c76..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.InvocationTargetException;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.SOAPBody;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.client.OperationClient;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-/**
- * Axis2TargetInvoker uses an Axis2 OperationClient to invoke a remote web service
- */
-public class Axis2TargetInvoker implements TargetInvoker {
-
- private QName wsdlOperationName;
-
- private Options options;
-
- private SOAPFactory soapFactory;
-
- private ServiceClient serviceClient;
-
- public Axis2TargetInvoker(ServiceClient serviceClient, QName wsdlOperationName, Options options,
- SOAPFactory soapFactory) {
- this.wsdlOperationName = wsdlOperationName;
- this.options = options;
- this.soapFactory = soapFactory;
- this.serviceClient = serviceClient;
- }
-
- /**
- * Invoke a WS operation
- *
- * @param payload
- * @return
- * @throws InvocationTargetException
- */
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
- try {
- Object[] args = (Object[]) payload;
- OperationClient operationClient = createOperationClient(args);
-
- operationClient.execute(true);
-
- MessageContext responseMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
- return responseMC.getEnvelope().getBody().getFirstElement();
-
- } catch (AxisFault e) {
- throw new InvocationTargetException(e);
- }
-
- }
-
- protected OperationClient createOperationClient(Object[] args) throws AxisFault {
- SOAPEnvelope env = soapFactory.getDefaultEnvelope();
- if (args != null && args.length > 0) {
- SOAPBody body = env.getBody();
- for (Object bc : args) {
- if (bc instanceof OMElement) {
- body.addChild((OMElement) bc);
- } else {
- throw new IllegalArgumentException(
- "Can't handle mixed payloads betweem OMElements and other types.");
- }
- }
- }
- MessageContext requestMC = new MessageContext();
- requestMC.setEnvelope(env);
- // Axis2 operationClients can not be shared so create a new one for each request
- OperationClient operationClient = serviceClient.createClient(wsdlOperationName);
- operationClient.setOptions(options);
- operationClient.addMessageContext(requestMC);
- return operationClient;
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-
- public Axis2TargetInvoker clone() throws CloneNotSupportedException {
- try {
- return (Axis2TargetInvoker) super.clone();
- } catch (CloneNotSupportedException e) {
- // will not happen
- return null;
- }
- }
-
- public boolean isCacheable() {
- return true;
- }
-
- public void setCacheable(boolean cacheable) {
-
- }
-
- public boolean isOptimizable() {
- return false;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBinding.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBinding.java
deleted file mode 100755
index 6d4ec6eaf9..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBinding.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import org.apache.tuscany.spi.model.Binding;
-
-/**
- * Represents a Celtix binding configuration in an assembly
- *
- * @version $Rev$ $Date$
- */
-public class WebServiceBinding extends Binding {
-
- private Definition definition;
- private Port port;
- private Service service;
- //private String portURI;
- private String uri;
- public WebServiceBinding(Definition definition, Port port, String uri, String portURI, Service service) {
- this.definition = definition;
- this.port = port;
- this.uri = uri;
- //this.portURI = portURI;
- this.service = service;
- }
-
- public Port getWSDLPort() {
- return port;
- }
-
- public Service getWSDLService() {
- return service;
- }
-
- public void setWSDLPort(Port value) {
- port = value;
- }
-
- public Definition getWSDLDefinition() {
- return definition;
- }
-
- public void setWSDLDefinition(Definition def) {
- definition = def;
- }
-
- // public void setPortURI(String uri) {
- // portURI = uri;
- // }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String theUri) {
- this.uri = theUri;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingLoader.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingLoader.java
deleted file mode 100755
index 5535dbb5c2..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingLoader.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-import org.osoa.sca.annotations.Constructor;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * Parses a <code>WebServiceBinding</code> entry in an assembly XML file
- *
- * @version $Rev$ $Date$
- */
-@Scope("MODULE")
-@SuppressWarnings("deprecation")
-public class WebServiceBindingLoader extends LoaderExtension<WebServiceBinding> {
- public static final QName BINDING_WS = new QName(XML_NAMESPACE_1_0, "binding.ws");
-
- private WSDLDefinitionRegistry wsdlDefinitionRegistry;
-
- @Constructor( { "loaderRegistry", "wsdlDefinitionRegistry" })
- public WebServiceBindingLoader(@Autowire LoaderRegistry loaderRegistry,
- @Autowire WSDLDefinitionRegistry wsdlDefinitionRegistry) {
- super(loaderRegistry);
- this.wsdlDefinitionRegistry = wsdlDefinitionRegistry;
- }
-
- public QName getXMLType() {
- return BINDING_WS;
- }
-
- public WebServiceBinding load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
- // not sure what uri was here ? String uri = reader.getAttributeValue(null, "uri");
- String uri = null;
- String endpoint = reader.getAttributeValue(null, "endpoint");
- String wsdlLocation = reader.getAttributeValue(null, "location");
- LoaderUtil.skipToEndElement(reader);
- try {
- return createBinding(uri, endpoint, wsdlLocation, deploymentContext);
- } catch (Exception e) {
- throw new LoaderException(e);
- }
-
- }
-
- @SuppressWarnings("unchecked")
- private WebServiceBinding createBinding(String uri, String endpoint, String wsdlLocation, DeploymentContext deploymentContext)
- throws WSDLException, IOException, LoaderException {
- // Get the WSDL port namespace and name
- if (uri == null && endpoint != null) {
- int h = endpoint.indexOf('#');
- String serviceName;
- String portName;
-
- String namespace = endpoint.substring(0, h);
- String fragment = endpoint.substring(h + 1);
- if (fragment.startsWith("wsdl.endpoint(") && fragment.endsWith(")")) {
- fragment = fragment.substring(14, fragment.length() - 1);
- int slash = fragment.indexOf('/');
- if (slash != -1) {
- serviceName = fragment.substring(0, slash);
- portName = fragment.substring(slash + 1);
- } else {
- serviceName = null;
- portName = fragment;
- }
- } else {
- serviceName = null;
- portName = fragment;
- }
- // FIXME need to find out how to get wsdl and what context to use --- terrible hack attack!
- if (null == wsdlLocation) {
- throw new Axis2BindingRunTimeException(
- "Failed to determine wsdl location on binding. Try specifying 'location' attribute on binding.");
- }
- Definition definition =
- wsdlDefinitionRegistry.loadDefinition(namespace+" "+wsdlLocation, deploymentContext.getClassLoader());
-
- Port thePort = null;
- Service service = null;
- // Find the port with the given name
- for (Service serv : (Collection<Service>) definition.getServices().values()) {
- QName sqn = serv.getQName();
- if (serviceName != null && !serviceName.equals(sqn.getLocalPart())) {
- continue;
- }
-
- Port p = serv.getPort(portName);
- if (p != null) {
- service = serv;
- thePort = p;
- break;
- }
- }
- if (thePort == null) {
- throw new IllegalArgumentException("Cannot find WSDL port " + endpoint);
-
- }
- return new WebServiceBinding(definition, thePort, uri, endpoint, service);
- }
- // FIXME: Find the first port?
- throw new LoaderException("Web Service endpoint cannot be resolved: " + endpoint);
-
- }
-
-} \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/TuscanyAxisConfigurator.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/TuscanyAxisConfigurator.java
deleted file mode 100755
index c0ef46fee3..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/TuscanyAxisConfigurator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2.util;
-
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.axis2.deployment.URLBasedAxisConfigurator;
-import org.apache.axis2.engine.AxisConfigurator;
-
-/**
- * Helps configure Axis2 from a resource in binding.axis2 instead of Axis2.xml
- * <p/> TODO: Review: should there be a single global Axis
- * ConfigurationContext
- */
-public class TuscanyAxisConfigurator extends URLBasedAxisConfigurator implements AxisConfigurator {
-
- public TuscanyAxisConfigurator() throws AxisFault {
- super(TuscanyAxisConfigurator.class.getResource("/org/apache/tuscany/binding/axis2/engine/config/axis2.xml"), null);
- }
-
- public ConfigurationContext getConfigurationContext() throws AxisFault {
- if (configContext == null)
- configContext = ConfigurationContextFactory.createConfigurationContext(this);
- return configContext;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/WebServiceOperationMetaData.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/WebServiceOperationMetaData.java
deleted file mode 100755
index 2a453bdf15..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/WebServiceOperationMetaData.java
+++ /dev/null
@@ -1,491 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2.util;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-/**
- * Metadata for a WSDL operation
- */
-@SuppressWarnings({"all"})
-public class WebServiceOperationMetaData implements Serializable {
- private static final long serialVersionUID = 2425306250256227724L;
-
- // WSDL Binding and BindingOperation
- private Binding binding;
- private BindingOperation bindingOperation;
- // Fields to cache derived metadata
- private transient Set<Part> inputHeaderParts;
- private transient Set<Part> outputHeaderParts;
- private transient String style;
- private transient String use;
- private transient String soapAction;
- private transient List<Object> signature;
- private String encoding;
- private transient QName rpcOperationName;
-
- public WebServiceOperationMetaData(Binding binding, BindingOperation bindingOperation) {
- this.binding = binding;
- this.bindingOperation = bindingOperation;
- }
-
- public WebServiceOperationMetaData(Binding binding, BindingOperation bindingOperation, String style, String use,
- String encoding,
- String soapAction) {
- this.binding = binding;
- this.bindingOperation = bindingOperation;
- this.style = style;
- this.use = use;
- this.encoding = encoding;
- this.soapAction = soapAction;
- }
-
- public Set<Part> getInputHeaderParts() {
- if (inputHeaderParts == null) {
- // Build a set of header parts that we need to exclude
- inputHeaderParts = new HashSet<Part>();
- BindingInput bindingInput = bindingOperation.getBindingInput();
-
- if (bindingInput != null) {
- Operation operation = bindingOperation.getOperation();
- javax.wsdl.Message message = operation.getInput().getMessage();
- List elements = bindingInput.getExtensibilityElements();
- for (Iterator i = elements.iterator(); i.hasNext();) {
- Object extensibilityElement = i.next();
- Part part = getPartFromSOAPHeader(message, extensibilityElement);
- if (part != null) {
- inputHeaderParts.add(part);
- }
- }
- }
- }
- return inputHeaderParts;
- }
-
- public Set<Part> getOutputHeaderParts() {
- if (outputHeaderParts == null) {
- // Build a set of header parts that we need to exclude
- outputHeaderParts = new HashSet<Part>();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- if (bindingOutput != null) {
- Operation operation = bindingOperation.getOperation();
- javax.wsdl.Message message = operation.getOutput().getMessage();
- List elements = bindingOutput.getExtensibilityElements();
- for (Iterator i = elements.iterator(); i.hasNext();) {
- Object extensibilityElement = i.next();
- Part part = getPartFromSOAPHeader(message, extensibilityElement);
- if (part != null) {
- outputHeaderParts.add(part);
- }
- }
- }
- }
- return outputHeaderParts;
- }
-
- private Part getPartFromSOAPHeader(Message message, Object extensibilityElement) {
- Part part = null;
- if (extensibilityElement instanceof SOAPHeader) {
- SOAPHeader soapHeader = (SOAPHeader) extensibilityElement;
- QName msgName = soapHeader.getMessage();
- if (message.getQName().equals(msgName)) {
- part = message.getPart(soapHeader.getPart());
- }
- } else if (extensibilityElement instanceof SOAPHeader) {
- SOAPHeader soapHeader = (SOAPHeader) extensibilityElement;
- QName msgName = soapHeader.getMessage();
- if (message.getQName().equals(msgName)) {
- part = message.getPart(soapHeader.getPart());
- }
- }
- return part;
- }
-
- public String getStyle() {
- if (style == null) {
- SOAPOperation soapOperation = (SOAPOperation) WebServicePortMetaData
- .getExtensibilityElement(bindingOperation.getExtensibilityElements(),
- SOAPOperation.class);
- if (soapOperation != null) {
- style = soapOperation.getStyle();
- }
- if (style == null) {
- SOAPBinding soapBinding = WebServicePortMetaData
- .getExtensibilityElement(binding.getExtensibilityElements(), SOAPBinding.class);
- if (soapBinding != null) {
- style = soapBinding.getStyle();
- }
- }
- if (style == null) {
- style = "document";
- }
- }
- return style;
- }
-
- /**
- * Returns the SOAP action for the given operation.
- */
- public String getSOAPAction() {
- if (soapAction == null) {
- final List wsdlBindingOperationExtensions = bindingOperation.getExtensibilityElements();
- final SOAPOperation soapOp =
- WebServicePortMetaData.getExtensibilityElement(wsdlBindingOperationExtensions, SOAPOperation.class);
- if (soapOp != null) {
- soapAction = soapOp.getSoapActionURI();
- }
- }
- return soapAction;
- }
-
- public QName getRPCOperationName() {
- if (rpcOperationName == null) {
- javax.wsdl.extensions.soap.SOAPBody soapBody = getSOAPBody(true);
- String ns =
- (soapBody != null) ? soapBody.getNamespaceURI() : binding.getPortType().getQName().getNamespaceURI();
- String name = bindingOperation.getOperation().getName();
- rpcOperationName = new QName(ns, name);
- }
- return rpcOperationName;
- }
-
- private List<String> getSOAPBodyParts(boolean input) {
- javax.wsdl.extensions.soap.SOAPBody soapBody = getSOAPBody(input);
- if (soapBody != null) {
- List parts = soapBody.getParts();
- if (parts != null) {
- List<String> names = new ArrayList<String>();
- for (Iterator i = parts.iterator(); i.hasNext();) {
- Object part = i.next();
- if (part instanceof String) {
- names.add((String) part);
- } else if (part instanceof Part) {
- names.add(((Part) part).getName());
- }
- }
- return names;
- } else {
- return null;
- }
- } else {
- return null;
- }
- }
-
- private javax.wsdl.extensions.soap.SOAPBody getSOAPBody(boolean input) {
- List elements = null;
- if (input) {
- BindingInput bindingInput = bindingOperation.getBindingInput();
- if (bindingInput == null) {
- return null;
- }
- elements = bindingInput.getExtensibilityElements();
- } else {
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
- if (bindingOutput == null) {
- return null;
- }
- elements = bindingOutput.getExtensibilityElements();
- }
- javax.wsdl.extensions.soap.SOAPBody soapBody = WebServicePortMetaData.getExtensibilityElement(elements,
- javax.wsdl.extensions.soap.SOAPBody.class);
- return soapBody;
- }
-
- /**
- * Returns the use attribute
- */
- public String getUse() {
- if (use == null) {
- javax.wsdl.extensions.soap.SOAPBody soapBody = getSOAPBody(true);
- if (soapBody != null) {
- use = soapBody.getUse();
- }
- if (use == null) {
- use = "literal";
- }
- }
- return use;
- }
-
- @SuppressWarnings("unchecked")
- public String getEncoding() {
- if (encoding == null) {
- javax.wsdl.extensions.soap.SOAPBody soapBody = getSOAPBody(true);
- if (soapBody != null) {
- List<String> styles = (List<String>) soapBody.getEncodingStyles();
- if (styles != null && !styles.isEmpty()) {
- encoding = styles.get(0);
- }
- }
- if (encoding == null) {
- encoding = "";
- }
- }
- return encoding;
- }
-
- public boolean isDocLitWrapped() {
- boolean flag = getStyle().equals("document") && getUse().equals("literal");
- if (!flag) {
- return false;
- }
- Message msg = getMessage(true);
- if (msg == null) {
- return false;
- }
- List parts = msg.getOrderedParts(null);
- if (parts.size() != 1) {
- return false;
- }
- Part part = (Part) parts.get(0);
- QName element = part.getElementName();
- if (element == null) {
- return false;
- }
- return element.getLocalPart().equals(bindingOperation.getOperation().getName());
- }
-
- /*
- * public SOAPMediator createMediator(boolean serverMode) throws SOAPException {
- * // create a new mediator for each invoke for thread-safety
- * boolean rpcStyle = getStyle().equals("rpc"); boolean rpcEncoded = isEncoded();
- *
- * SOAPMediator mediator = null;
- *
- * if (!rpcStyle) { // Document mediator = new SOAPDocumentLiteralMediatorImpl(this, serverMode);
- * } else { if (!rpcEncoded) mediator = new
- * SOAPRPCLiteralMediatorImpl(this, serverMode); // RPC-literal else mediator =
- * new SOAPRPCEncodedMediatorImpl(this, serverMode); // RPC-encoded }
- * return mediator; }
- */
-
- /**
- * Get the operation signature from the WSDL operation
- */
- public List<?> getOperationSignature() {
- if (signature == null) {
- signature = new ArrayList<Object>();
-
- Operation operation = bindingOperation.getOperation();
- if (operation == null) {
- return signature;
- }
-
- final Input input = operation.getInput();
- if (input == null) {
- return signature;
- }
-
- String sstyle = getStyle();
-
- if ("rpc".equals(sstyle)) {
- Collection partNames = input.getMessage().getParts().values();
- for (Iterator i = partNames.iterator(); i.hasNext();) {
- Part part = (Part) i.next();
- signature.add(part.getName());
- }
- } else {
- /*
- * WS-I Basic Profile 1.1 4.7.6 Operation Signatures Definition: operation signature
- *
- * The profile defines the "operation signature" to be the fully qualified name of the child element of
- * SOAP body of the SOAP input
- * message described by an operation in a WSDL binding.
- *
- * In the case of rpc-literal binding, the operation name is used as a wrapper for the part accessors.
- * In the document-literal case, designed so that they meet this requirement.
- *
- * An endpoint that supports multiple operations must unambiguously identify the operation being
- * invoked based on the input message
- * that it receives. This is only possible if all the operations specified in the wsdl:binding
- * associated with an endpoint have a
- * unique operation signature.
- *
- * R2710 The operations in a wsdl:binding in a DESCRIPTION MUST result in operation signatures that are
- * different from one another.
- */
- List<String> bodyParts = getSOAPBodyParts(true);
-
- Collection<?> parts = input.getMessage().getParts().values();
- // Exclude the parts to be transmitted in SOAP header
- if (bodyParts == null) {
- parts.removeAll(getInputHeaderParts());
- }
- for (Iterator i = parts.iterator(); i.hasNext();) {
- Part part = (Part) i.next();
- if (bodyParts == null) {
- // All parts
- QName elementName = part.getElementName();
- if (elementName == null) {
- elementName = new QName("", part.getName());
- // TODO: [rfeng] throw new
- // ServiceRuntimeException("Message part for
- // document style must refer to an XSD element
- // using a QName: " + part);
- }
- signature.add(elementName);
- } else {
- // "parts" in soap:body
- if (bodyParts.contains(part.getName())) {
- QName elementName = part.getElementName();
- if (elementName == null) {
- elementName = new QName("", part.getName());
- // TODO: [rfeng] throw new
- // ServiceRuntimeException("Message part for
- // document style must refer to an XSD
- // element using a QName: " + part);
- }
- signature.add(elementName);
- }
-
- }
- }
- }
- }
- return signature;
- }
-
- public Message getMessage(boolean isInput) {
- Operation operation = bindingOperation.getOperation();
- if (operation == null) {
- return null;
- }
-
- if (isInput) {
- final Input input = operation.getInput();
- return input == null ? null : input.getMessage();
- } else {
- final Output output = operation.getOutput();
- return output == null ? null : output.getMessage();
- }
- }
-
- public Part getInputPart(int index) {
- Part part = null;
- Message message = getMessage(true);
- if (message == null) {
- return part;
- }
-
- List parts = message.getOrderedParts(null);
- return (Part) parts.get(index);
-
- }
-
- public Part getOutputPart(int index) {
- Part part = null;
- Message message = getMessage(false);
- if (message == null) {
- return part;
- }
-
- List parts = message.getOrderedParts(null);
- return (Part) parts.get(index);
-
- }
-
- /**
- * Get a list of indexes for each part in the SOAP body
- *
- * @param isInput
- */
- public List<Integer> getBodyPartIndexes(boolean isInput) {
- List<Integer> indexes = new ArrayList<Integer>();
-
- Message message = getMessage(isInput);
- if (message == null) {
- return indexes;
- }
-
- List<String> bodyParts = getSOAPBodyParts(isInput);
- List parts = message.getOrderedParts(null);
- Set headerParts = isInput ? getInputHeaderParts() : getOutputHeaderParts();
-
- int index = 0;
- for (Iterator i = parts.iterator(); i.hasNext(); index++) {
- Part part = (Part) i.next();
- if (headerParts.contains(part)) {
- continue;
- }
- if (bodyParts == null) {
- // All parts
- indexes.add(index);
- } else {
- // "parts" in soap:body
- if (bodyParts.contains(part.getName())) {
- indexes.add(index);
- }
- }
- }
- return indexes;
- }
-
- /**
- * Get the corresponding index for a part in the SOAP header by element name
- *
- * @param elementName
- * @param isInput
- */
- public int getHeaderPartIndex(QName elementName, boolean isInput) {
-
- Message message = getMessage(isInput);
- if (message == null) {
- return -1;
- }
-
- List parts = message.getOrderedParts(null);
- Set headerParts = isInput ? getInputHeaderParts() : getOutputHeaderParts();
-
- int index = 0;
- for (Iterator i = parts.iterator(); i.hasNext(); index++) {
- Part part = (Part) i.next();
- // Test if the part is in header section
- if (headerParts.contains(part) && elementName.equals(part.getElementName())) {
- return index;
- }
- }
- return -1;
- }
-
- public BindingOperation getBindingOperation() {
- return bindingOperation;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/WebServicePortMetaData.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/WebServicePortMetaData.java
deleted file mode 100755
index a8d4f0f581..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/WebServicePortMetaData.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2.util;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Operation;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
-
-/**
- * Metadata for a WSDL port
- *
- */
-public class WebServicePortMetaData {
-
- private Service wsdlService;
- private QName wsdlServiceName;
- private Port wsdlPort;
- private Binding wsdlBinding;
- private QName wsdlPortName;
- private PortType wsdlPortType;
- private QName wsdlPortTypeName;
- private String endpoint;
- private boolean managed;
- private List<WebServiceOperationMetaData> allOperationMetaData;
- private WSDLServiceContract interfaceType;
-
- /**
- * Constructor
- *
- * @param wsdlDefinition
- */
- public WebServicePortMetaData(Definition wsdlDefinition, Port wsdlPort, String endpoint, boolean managed) {
-
- // Lookup the named port
- this.wsdlPort = wsdlPort;
- wsdlPortName = new QName(wsdlDefinition.getTargetNamespace(), wsdlPort.getName());
- Collection services = wsdlDefinition.getServices().values();
- for (Object serviceObj : services) {
- Service service = (Service) serviceObj;
- if (service.getPorts().containsValue(wsdlPort)) {
- wsdlService = service;
- wsdlServiceName = service.getQName();
- break;
- }
- }
-
- // Save the binding
- wsdlBinding = wsdlPort.getBinding();
- if (wsdlBinding == null) {
- throw new IllegalArgumentException("WSDL binding cannot be found for " + wsdlPortName);
- }
-
- // Save the portType
- wsdlPortType = wsdlBinding.getPortType();
- if (wsdlPortType == null) {
- throw new IllegalArgumentException("WSDL portType cannot be found for " + wsdlPortName);
- }
- wsdlPortTypeName = wsdlPortType.getQName();
-
- // Save the endpoint
- this.endpoint = endpoint;
-
- // Track if this endpoint is managed or not
- this.managed = managed;
- }
-
- /**
- * Constructor
- *
- * @param serviceName
- * @param portName
- * @param portTypeName
- * @param endpoint
- */
- public WebServicePortMetaData(QName serviceName, String portName, QName portTypeName, String endpoint) {
- wsdlServiceName = serviceName;
- wsdlPortName = new QName(serviceName.getNamespaceURI(), portName);
- wsdlPortTypeName = portTypeName;
- this.endpoint = endpoint;
- }
-
- /**
- * @return Returns the wsdlPort.
- */
- public javax.wsdl.Port getPort() {
- return wsdlPort;
- }
-
- /**
- * @return Returns the wsdlService.
- */
- public QName getServiceName() {
- return wsdlServiceName;
- }
-
- /**
- * @return Returns the wsdlService.
- */
- public javax.wsdl.Service getService() {
- return wsdlService;
- }
-
- /**
- * @return Returns the wsdlPortType.
- */
- public PortType getPortType() {
- return wsdlPortType;
- }
-
- /**
- * @return Returns the wsdlPortType.
- */
- public QName getPortTypeName() {
- return wsdlPortTypeName;
- }
-
- /**
- * @return Returns the wsdlBinding.
- */
- public Binding getBinding() {
- return wsdlBinding;
- }
-
- /**
- * @return Returns the wsdlPortName.
- */
- public QName getPortName() {
- return wsdlPortName;
- }
-
- /**
- * Returns the endpoint of a given port.
- */
- public String getEndpoint() {
-
- // Return the specified endpoint
- if (endpoint != null) {
- return endpoint;
- }
-
- // Find the target endpoint on the port
- if (wsdlPort != null) {
- final List wsdlPortExtensions = wsdlPort.getExtensibilityElements();
- for (final Object extension : wsdlPortExtensions) {
- if (extension instanceof SOAPAddress) {
- return ((SOAPAddress) extension).getLocationURI();
- }
- }
- }
-
- return null;
- }
-
- /**
- * Returns the SOAP binding style.
- */
- public String getStyle() {
-
- // Find the binding style
- String style = null;
- if (wsdlBinding != null) {
- final List wsdlBindingExtensions = wsdlBinding.getExtensibilityElements();
- SOAPBinding soapBinding = getExtensibilityElement(wsdlBindingExtensions, SOAPBinding.class);
- if (soapBinding != null) {
- style = soapBinding.getStyle();
- }
- }
-
- // Default to document
- return (style == null) ? "document" : style;
- }
-
- /**
- * Returns the use attribute
- */
- public String getUse() {
- List<WebServiceOperationMetaData> list = getAllOperationMetaData();
- return list.get(0).getUse();
- }
-
- /**
- * Returns the encoding attribute
- */
- public String getEncoding() {
- List<WebServiceOperationMetaData> list = getAllOperationMetaData();
- return list.get(0).getEncoding();
- }
-
- /**
- * @return Returns true if this is a managed web service.
- */
- public boolean isManaged() {
- return managed;
- }
-
- /**
- * Returns the first extensibility element of the given type.
- *
- * @param elements
- * @param type
- */
- public static <T> T getExtensibilityElement(List elements, Class<T> type) {
- for (Object element : elements) {
- if (type.isInstance(element)) {
- return type.cast(element);
- }
- }
- return null;
- }
-
- /**
- * Returns the extensibility elements of the given type.
- *
- * @param elements
- * @param type
- * @return List
- */
- public static <T> List<T> getExtensibilityElements(List elements, Class<T> type) {
- List<T> result = new ArrayList<T>();
- for (Object element : elements) {
- if (type.isInstance(element)) {
- result.add(type.cast(element));
- }
- }
- return result;
- }
-
- /**
- * Get the operation signature from the SOAP Body
- *
- * @return A list of QNames
- */
- // public static List getOperationSignature(javax.xml.soap.SOAPBody body) {
- // List signature = new ArrayList();
- // for (Iterator i = body.getChildElements(); i.hasNext();) {
- // Object child = i.next();
- // if (child instanceof SOAPBodyElement) {
- // Name name = ((SOAPBodyElement) child).getElementName();
- // QName qname = new QName(name.getURI(), name.getLocalName(), name.getPrefix());
- // signature.add(qname);
- // }
- // }
- // return signature;
- // }
- // public static List getRPCOperationSignature(javax.xml.soap.SOAPBody body) {
- // List signature = new ArrayList();
- // for (Iterator i = body.getChildElements(); i.hasNext();) {
- // Object child = i.next();
- // if (child instanceof SOAPBodyElement) {
- // SOAPBodyElement op = ((SOAPBodyElement) child);
- // for (Iterator j = op.getChildElements(); j.hasNext();) {
- // Object part = i.next();
- // if (part instanceof SOAPElement) {
- // SOAPElement p = (SOAPElement) part;
- // signature.add(p.getLocalName());
- // }
- // }
- // }
- // }
- // return signature;
- // }
- // public WebServiceOperationMetaData getOperationMetaData(javax.xml.soap.SOAPBody body) {
- // List s1 = getOperationSignature(body);
- // // List rpcParts = getRPCOperationSignature(body);
- // for (Iterator it = getAllOperationMetaData().iterator(); it.hasNext();) {
- // WebServiceOperationMetaData descriptor = (WebServiceOperationMetaData) it.next();
- //
- // String style = descriptor.getStyle();
- //
- // if (style.equals("document")) {
- // List s2 = descriptor.getOperationSignature();
- // if (s1.equals(s2))
- // return descriptor;
- // } else {
- // QName op1 = (QName) s1.get(0);
- // QName op2 = descriptor.getRPCOperationName();
- // if (op1.equals(op2)) {
- // /*
- // * // FIXME: [rfeng] We don't support method overloading
- // * List partNames = getOperationSignature(binding,
- // * bindingOperation); if (rpcParts.equals(partNames))
- // */
- // return descriptor;
- // }
- // }
- // }
- // return null;
- // }
- public List<WebServiceOperationMetaData> getAllOperationMetaData() {
- if (allOperationMetaData == null) {
- allOperationMetaData = new ArrayList<WebServiceOperationMetaData>();
- for (Iterator it = wsdlBinding.getBindingOperations().iterator(); it.hasNext();) {
- final BindingOperation bindingOperation = (BindingOperation) it.next();
- if (bindingOperation.getOperation() != null) {
- allOperationMetaData.add(new WebServiceOperationMetaData(wsdlBinding, bindingOperation));
- }
- }
- }
- return allOperationMetaData;
- }
-
- public WebServiceOperationMetaData getOperationMetaData(String operationName) {
- StringBuilder sb = new StringBuilder(operationName);
- sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
- String capatalizedOpName = sb.toString();
-
- for (WebServiceOperationMetaData webServiceOperationMetaData : getAllOperationMetaData()) {
- WebServiceOperationMetaData descriptor = (WebServiceOperationMetaData) webServiceOperationMetaData;
- String opName = descriptor.getBindingOperation().getOperation().getName();
-
- if (opName.equals(operationName) || opName.equals(capatalizedOpName)) {
- return descriptor;
- }
- }
- return null;
- }
-
- /**
- * Returns the WSDL service contract
- *
- * @return WSDLServiceContract
- */
- public WSDLServiceContract getInterfaceType() {
- return interfaceType;
- }
-
- /**
- * Get the WSDL operation name for a Java method name
- */
- public String getWSDLOperationName(String methodName) {
- StringBuilder sb = new StringBuilder(methodName);
- sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
- String capatalizedOpName = sb.toString();
- for (Object o : wsdlPortType.getOperations()) {
- Operation operation = (Operation) o;
- String wsdlOpName = operation.getName();
- if (wsdlOpName.equals(methodName)) {
- return wsdlOpName;
- }
- if (wsdlOpName.equals(capatalizedOpName)) {
- return wsdlOpName;
- }
- }
- return null;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/META-INF/sca/binding.axis2.scdl b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/META-INF/sca/binding.axis2.scdl
deleted file mode 100644
index 0eb56942f8..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/META-INF/sca/binding.axis2.scdl
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!-- Axis2 based WebService binding extension -->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.binding.axis2.include">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.bindings</group>
- <name>axis2</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.databinding</group>
- <name>databinding-axiom</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <component name="webservice.bindingLoader">
- <system:implementation.system class="org.apache.tuscany.binding.axis2.WebServiceBindingLoader" />
- </component>
-
- <component name="webservice.axis2.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.axis2.Axis2BindingBuilder" />
- </component>
-
- <!-- A workaround to handle inter-extension dependencies -->
- <include name="idl.wsdl" scdlResource="META-INF/sca/idl.wsdl.scdl" />
- <include name="databinding.axiom" scdlResource="META-INF/sca/databinding.axiom.scdl" />
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index d14e850caf..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!-- Axis2 based WebService binding extension -->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.binding.axis2.WebServiceBinding">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.bindings</group>
- <name>axis2</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.databinding</group>
- <name>databinding-axiom</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <component name="webservice.bindingLoader">
- <system:implementation.system class="org.apache.tuscany.binding.axis2.WebServiceBindingLoader"/>
- </component>
-
- <component name="webservice.axis2.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.axis2.Axis2BindingBuilder"/>
- </component>
-
- <!-- A workaround to handle inter-extension dependencies -->
- <include name="idl.wsdl" scdlResource="META-INF/sca/idl.wsdl.scdl"/>
- <include name="databinding.axiom" scdlResource="META-INF/sca/databinding.axiom.scdl"/>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/org/apache/tuscany/binding/axis2/engine/config/axis2.xml b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/org/apache/tuscany/binding/axis2/engine/config/axis2.xml
deleted file mode 100755
index 84c86d6dfb..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/main/resources/org/apache/tuscany/binding/axis2/engine/config/axis2.xml
+++ /dev/null
@@ -1,302 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<axisconfig name="AxisJava2.0">
- <!-- ================================================= -->
- <!-- Parameters -->
- <!-- ================================================= -->
- <parameter name="hotdeployment" locked="false">false</parameter>
- <parameter name="hotupdate" locked="false">false</parameter>
- <parameter name="enableMTOM" locked="false">false</parameter>
- <parameter name="enableSwA" locked="false">false</parameter>
-
- <!--Uncomment if you want to enable file caching for attachments -->
- <!--parameter name="cacheAttachments" locked="false">true</parameter>
- <parameter name="attachmentDIR" locked="false"></parameter>
- <parameter name="sizeThreshold" locked="false">4000</parameter-->
-
- <!--This will give out the timout of the configuration contexts, in seconds-->
- <parameter name="ConfigContextTimeoutInterval" locked="false">30</parameter>
-
- <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->
- <!--that behaviour.-->
- <parameter name="sendStacktraceDetailsWithFaults" locked="false">true</parameter>
-
- <!--If there aren't any information available to find out the fault reason, we set the message of the expcetion-->
- <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
- <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
- <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
- <parameter name="DrillDownToRootCauseForFaultReason" locked="false">false</parameter>
-
- <parameter name="userName" locked="false">admin</parameter>
- <parameter name="password" locked="false">axis2</parameter>
-
- <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
- <!--root which can configured using the following contextRoot parameter-->
- <!--<parameter name="contextRoot" locked="false">axis2</parameter>-->
-
- <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distingiush those endpoints-->
- <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
- <!--context path to proper Axis2 servlets-->
- <!--<parameter name="servicePath" locked="false">services</parameter>-->
- <!--<parameter name="restPath" locked="false">rest</parameter>-->
-
-
- <!--Set the flag to true if you want to enable transport level session mangment-->
- <parameter name="manageTransportSession" locked="false">false</parameter>
-
- <!--Following two parameters will be used to handle REST in Axis2. The default settings will make Axis2 to have two-->
- <!--different endpoints, one for REST (AxisRESTServlet) one for SOAP message handling (AxisServlet). But following-->
- <!--parameters help to tweak the message handling of two main servlets. -->
-
- <!-- If the enableRESTInAxis2MainServlet is true, then Axis2MainServlet will handle both SOAP and REST messages -->
- <parameter name="enableRESTInAxis2MainServlet" locked="true">false</parameter>
-
- <!-- Following parameter will completely disable REST handling in both the servlets-->
- <parameter name="disableREST" locked="true">false</parameter>
-
- <!-- This will disable the separate servlet we have for REST handling. -->
- <parameter name="disableSeparateEndpointForREST" locked="true">false</parameter>
-
- <!-- If you have a frontend host which exposes this webservice using a different public URL -->
- <!-- use this parameter to override autodetected url -->
- <!--<parameter name="httpFrontendHostUrl" locked="false">https://someotherhost/context</parameter>-->
-
-
- <!-- The way of adding listener to the system-->
- <!-- <listener class="org.apache.axis2.ObserverIMPL">-->
- <!-- <parameter name="RSS_URL" locked="false">http://127.0.0.1/rss</parameter>-->
- <!-- </listener>-->
-
- <!-- ================================================= -->
- <!-- Message Receivers -->
- <!-- ================================================= -->
- <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->
- <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
- <!--any operation -->
- <!--Note : You can ovride this for particular service by adding the same element with your requirement-->
- <messageReceivers>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
- class="org.apache.tuscany.binding.axis2.Axis2ServiceInMessageReceiver"/>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
- class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
- class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
- class="org.apache.tuscany.binding.axis2.Axis2ServiceInOutAsyncMessageReceiver"/>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
- class="org.apache.tuscany.binding.axis2.Axis2ServiceInOutSyncMessageReceiver"/>
- </messageReceivers>
- <!-- ================================================= -->
- <!-- Transport Ins -->
- <!-- ================================================= -->
- <transportReceiver name="http"
- class="org.apache.axis2.transport.http.SimpleHTTPServer">
- <parameter name="port" locked="false">6060</parameter>
- <!-- Here is the complete list of supported parameters (see example settings further below):
- port: the port to listen on (default 6060)
- hostname: if non-null, url prefix used in reply-to endpoint references (default null)
- originServer: value of http Server header in outgoing messages (default "Simple-Server/1.1")
- requestTimeout: value in millis of time that requests can wait for data (default 20000)
- requestTcpNoDelay: true to maximize performance and minimize latency (default true)
- false to minimize bandwidth consumption by combining segments
- requestCoreThreadPoolSize: number of threads available for request processing (unless queue fills up) (default 25)
- requestMaxThreadPoolSize: number of threads available for request processing if queue fills us (default 150)
- note that default queue never fills up: see HttpFactory
- threadKeepAliveTime: time to keep threads in excess of core size alive while inactive (default 180)
- note that no such threads can exist with default unbounded request queue
- threadKeepAliveTimeUnit: TimeUnit of value in threadKeepAliveTime (default SECONDS) (default SECONDS)
- -->
- <!-- <parameter name="hostname" locked="false">http://www.myApp.com/ws</parameter> -->
- <!-- <parameter name="originServer" locked="false">My-Server/1.1</parameter> -->
- <!-- <parameter name="requestTimeout" locked="false">10000</parameter> -->
- <!-- <parameter name="requestTcpNoDelay" locked="false">false</parameter> -->
- <!-- <parameter name="requestCoreThreadPoolSize" locked="false">50</parameter> -->
- <!-- <parameter name="RequestMaxThreadPoolSize" locked="false">100</parameter> -->
- <!-- <parameter name="threadKeepAliveTime" locked="false">240000</parameter> -->
- <!-- <parameter name="threadKeepAliveTimeUnit" locked="false">MILLISECONDS</parameter> -->
- </transportReceiver>
-
- <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
- <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
- <parameter name="myTopicConnectionFactory" locked="false">
- <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
- <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>
- <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
- </parameter>
-
- <parameter name="myQueueConnectionFactory" locked="false">
- <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
- <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>
- <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
- </parameter>
-
- <parameter name="default" locked="false">
- <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
- <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>
- <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
- </parameter>
- </transportReceiver>-->
-
- <!--Uncomment if you want to have SMTP transport support-->
- <!--<transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">-->
- <!--<parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>-->
- <!--<parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>-->
- <!--<parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>-->
- <!--<parameter name="transport.mail.pop3.port" locked="false">110</parameter>-->
- <!--<parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>-->
- <!--</transportReceiver>-->
-
- <transportReceiver name="tcp"
- class="org.apache.axis2.transport.tcp.TCPServer">
- <parameter name="port" locked="false">6060</parameter>
- <!--If you want to give your own host address for EPR generation-->
- <!--uncommet following paramter , and set as you required.-->
- <!--<parameter name="hostname" locked="false">tcp://myApp.com/ws</parameter>-->
- </transportReceiver>
-
- <!-- ================================================= -->
- <!-- Transport Outs -->
- <!-- ================================================= -->
-
- <transportSender name="tcp"
- class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
- <transportSender name="local"
- class="org.apache.axis2.transport.local.LocalTransportSender"/>
- <transportSender name="http"
- class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
- <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
- <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
- </transportSender>
- <transportSender name="https"
- class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
- <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
- <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
- </transportSender>
-
- <!-- Commented out by Tuscany
- <transportSender name="jms"
- class="org.apache.axis2.transport.jms.JMSSender"/>
- -->
-
- <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
- <transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
- <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>
- <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>
- <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>
- <parameter name="transport.mail.smtp.port" locked="false">25</parameter>
- </transportSender>
- -->
-
- <!-- ================================================= -->
- <!-- Global Modules -->
- <!-- ================================================= -->
- <!-- Comment this to disable Addressing -->
- <!-- Commented out by Tuscany
- <module ref="addressing"/>
- -->
-
- <!--Configuring module , providing parameters for modules whether they refer or not-->
- <!--<moduleConfig name="addressing">-->
- <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->
- <!--</moduleConfig>-->
-
- <!-- ================================================= -->
- <!-- Phases -->
- <!-- ================================================= -->
- <phaseOrder type="InFlow">
- <!-- System pre defined phases -->
- <phase name="Transport">
- <handler name="RequestURIBasedDispatcher"
- class="org.apache.axis2.engine.RequestURIBasedDispatcher">
- <order phase="Transport"/>
- </handler>
- <handler name="SOAPActionBasedDispatcher"
- class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
- <order phase="Transport"/>
- </handler>
- </phase>
- <phase name="Security"/>
- <phase name="PreDispatch"/>
- <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
- <handler name="AddressingBasedDispatcher"
- class="org.apache.axis2.engine.AddressingBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="SOAPMessageBodyBasedDispatcher"
- class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
- <handler name="InstanceDispatcher"
- class="org.apache.axis2.engine.InstanceDispatcher">
- <order phase="Dispatch"/>
- </handler>
- </phase>
- <!-- System pre defined phases -->
- <!-- After Postdispatch phase module author or or service author can add any phase he want -->
- <phase name="OperationInPhase"/>
- </phaseOrder>
- <phaseOrder type="OutFlow">
- <!-- user can add his own phases to this area -->
- <phase name="OperationOutPhase"/>
- <!--system predefined phase-->
- <!--these phase will run irrespective of the service-->
- <phase name="PolicyDetermination"/>
- <phase name="MessageOut"/>
- <phase name="Security"/>
- </phaseOrder>
- <phaseOrder type="InFaultFlow">
- <phase name="PreDispatch"/>
- <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
- <handler name="RequestURIBasedDispatcher"
- class="org.apache.axis2.engine.RequestURIBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="SOAPActionBasedDispatcher"
- class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="AddressingBasedDispatcher"
- class="org.apache.axis2.engine.AddressingBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="SOAPMessageBodyBasedDispatcher"
- class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
- <handler name="InstanceDispatcher"
- class="org.apache.axis2.engine.InstanceDispatcher">
- <order phase="PostDispatch"/>
- </handler>
- </phase>
- <!-- user can add his own phases to this area -->
- <phase name="OperationInFaultPhase"/>
- </phaseOrder>
- <phaseOrder type="OutFaultFlow">
- <!-- user can add his own phases to this area -->
- <phase name="OperationOutFaultPhase"/>
- <phase name="PolicyDetermination"/>
- <phase name="MessageOut"/>
- </phaseOrder>
-</axisconfig>
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ReferenceTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ReferenceTestCase.java
deleted file mode 100755
index 9605c50c51..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ReferenceTestCase.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.Type;
-import java.net.URL;
-import java.util.HashMap;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-import org.easymock.EasyMock;
-import org.xml.sax.InputSource;
-
-public class Axis2ReferenceTestCase extends TestCase {
-
- public void testInvokeService() throws Exception {
- Axis2Reference axis2Reference = createAxis2Reference("testWebAppName", "testServiceName");
- Operation operation = new Operation<Type>("sayHi", null, null, null, false, null);
- TargetInvoker targetInvoker = axis2Reference.createTargetInvoker(null, operation);
- assertNotNull(targetInvoker);
- }
-
- public void testAsyncTargetInvoker() throws Exception {
- Axis2Reference axis2Reference = createAxis2Reference("testWebAppName", "testServiceName");
- //Create a mocked InboundWire, make the call of ServiceExtension.getInterface() returns a Class
- InboundWire inboundWire = EasyMock.createNiceMock(InboundWire.class);
- JavaServiceContract contract = new JavaServiceContract(Greeter.class);
- contract.setCallbackClass(GreetingCallback.class);
- Operation<Type> callbackOp = new Operation<Type>("sayHiCallback", null, null, null, true, null);
- HashMap<String,Operation<Type>> callbackOps = new HashMap<String,Operation<Type>>();
- callbackOps.put("sayHiCallback", callbackOp);
- contract.setCallbackOperations(callbackOps);
- EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
- EasyMock.replay(inboundWire);
-
- axis2Reference.setInboundWire(inboundWire);
- Operation operation = new Operation<Type>("sayHi", null, null, null, true, null);
- TargetInvoker asyncTargetInvoker = axis2Reference.createAsyncTargetInvoker(null, operation);
- assertNotNull(asyncTargetInvoker);
- }
-
- private Axis2Reference createAxis2Reference(String webAppName, String serviceName) throws Exception {
- //Create WebServiceBinding
- String wsdlLocation = "/wsdl/hello_world_doc_lit.wsdl";
- URL url = getClass().getResource(wsdlLocation);
- assertNotNull("Could not find wsdl " + url.toString(), url);
-
- WSDLFactory factory = WSDLFactory.newInstance();
- WSDLReader reader = factory.newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- InputSource input = new InputSource(url.openStream());
- Definition wsdlDef = reader.readWSDL(url.toString(), input);
- Service wsdlService = wsdlDef.getService(new QName("http://objectweb.org/hello_world_soap_http",
- "SOAPService"));
- Port port = wsdlService.getPort("SoapPort");
- WebServiceBinding wsBinding = new WebServiceBinding(wsdlDef, port, "uri", "portURI", wsdlService);
- //Create a mocked WireService, make the call of ServiceExtension.getServiceInstance() returns a proxy instance.
- WireService wireService = EasyMock.createNiceMock(WireService.class);
- EasyMock.replay(wireService);
- CompositeComponent parent = EasyMock.createNiceMock(CompositeComponent.class);
- // TODO figure out what to do with the service contract
- ServiceContract<?> contract = new WSDLServiceContract();
- contract.setInterfaceClass(Greeter.class);
- WorkContext workContext = EasyMock.createNiceMock(WorkContext.class);
- EasyMock.replay(workContext);
- return new Axis2Reference(serviceName,
- parent,
- wireService,
- wsBinding,
- contract,
- workContext);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java
deleted file mode 100755
index 6669226547..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import javax.servlet.Servlet;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-
-import org.xml.sax.InputSource;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.tuscany.binding.axis2.util.TuscanyAxisConfigurator;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.host.ServletHost;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundInvocationChain;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.WireService;
-
-import junit.framework.TestCase;
-import org.easymock.EasyMock;
-
-public class Axis2ServiceTestCase extends TestCase {
-
- public void testInvokeService() throws Exception {
- TestServletHost tomcatHost = new TestServletHost();
- Axis2Service axis2Service = createAxis2Service("testServiceName", tomcatHost, false);
- axis2Service.start();
-
- if (true) return;
- Servlet servlet = tomcatHost.getMapping("testWebAppName/services/testServiceName");
- assertNotNull(servlet);
-
- //Create mocked HttpRequest and HttpResponse object to test the Axis2Servlet
- //To be done:
-
- }
-
- public void testAsyncMessageReceiver() throws Exception {
-
- TestServletHost tomcatHost = new TestServletHost();
- Axis2Service axis2Service = createAxis2Service("testServiceName", tomcatHost, true);
- axis2Service.start();
- }
-
- private Axis2Service createAxis2Service(String serviceName, ServletHost tomcatHost, boolean callback)
- throws Exception {
- //Create WebServiceBinding
- String wsdlLocation = "/wsdl/hello_world_doc_lit.wsdl";
- URL url = getClass().getResource(wsdlLocation);
- assertNotNull("Could not find wsdl " + url.toString(), url);
-
- WSDLFactory factory = WSDLFactory.newInstance();
- WSDLReader reader = factory.newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- InputSource input = new InputSource(url.openStream());
- Definition wsdlDef = reader.readWSDL(url.toString(), input);
- Service wsdlService = wsdlDef.getService(new QName("http://objectweb.org/hello_world_soap_http",
- "SOAPService"));
- Port port = wsdlService.getPort("SoapPort");
- WebServiceBinding wsBinding = new WebServiceBinding(wsdlDef, port, "uri", "portURI", wsdlService);
-
- //Create a mocked WireService, make the call of ServiceExtension.getServiceInstance() returns a proxy instance.
- WireService wireService = EasyMock.createNiceMock(WireService.class);
- wireService.createProxy(EasyMock.isA(InboundWire.class));
- EasyMock.expectLastCall().andReturn(null);
- EasyMock.replay(wireService);
-
- //Create a mocked InboundWire, make the call of ServiceExtension.getInterface() returns a Class
- InboundWire inboundWire = EasyMock.createNiceMock(InboundWire.class);
- JavaServiceContract contract = new JavaServiceContract(Greeter.class);
- Map<String, Operation<Type>> opMap = new HashMap<String, Operation<Type>>();
- for(Method m: Greeter.class.getMethods()) {
- opMap.put(m.getName(), new Operation<Type>(m.getName(), null, null, null));
- }
- contract.setOperations(opMap);
- EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
- if (callback) {
- contract.setCallbackName("");
- }
- EasyMock.replay(inboundWire);
-
- OutboundWire outboundWire = EasyMock.createNiceMock(OutboundWire.class);
- Map<Operation<?>, OutboundInvocationChain> map = new HashMap<Operation<?>, OutboundInvocationChain>();
- EasyMock.expect(outboundWire.getInvocationChains()).andReturn(map).once();
- EasyMock.replay(outboundWire);
-
- TuscanyAxisConfigurator tuscanyAxisConfigurator = new TuscanyAxisConfigurator();
- ConfigurationContext configurationContext = tuscanyAxisConfigurator.getConfigurationContext();
- WorkContext workContext = EasyMock.createNiceMock(WorkContext.class);
- EasyMock.replay(workContext);
- Axis2Service axis2Service =
- new Axis2Service(serviceName,
- contract,
- null,
- wireService,
- wsBinding,
- tomcatHost,
- configurationContext,
- workContext);
- axis2Service.setInboundWire(inboundWire);
- axis2Service.setOutboundWire(outboundWire);
-
- return axis2Service;
- }
-
- protected class TestServletHost implements ServletHost {
- private Map<String, Servlet> mappings = new HashMap<String, Servlet>();
-
- public void registerMapping(String mapping, Servlet servlet) {
- mappings.put(mapping, servlet);
- }
-
- public void unregisterMapping(String mapping) {
- }
-
- public Servlet getMapping(String mapping) {
- return mappings.get(mapping);
- }
-
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Greeter.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Greeter.java
deleted file mode 100755
index 39fccdadd3..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Greeter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-public interface Greeter {
-
- String sayHi();
-
- String greetMe(String requestType);
-
- void greetMeOneWay(String requestType);
-
- void greetMeWithCallback(String requestType);
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/GreetingCallback.java b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/GreetingCallback.java
deleted file mode 100644
index 4c3b3304ea..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/GreetingCallback.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.axis2;
-
-public interface GreetingCallback {
-
- void greetMeCallback(String greetMeResponse);
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/resources/wsdl/hello_world_doc_lit.wsdl b/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/resources/wsdl/hello_world_doc_lit.wsdl
deleted file mode 100755
index 2f56217f88..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.axis2/src/test/resources/wsdl/hello_world_doc_lit.wsdl
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<wsdl:definitions name="HelloWorld" targetNamespace="http://objectweb.org/hello_world_soap_http"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://objectweb.org/hello_world_soap_http"
- xmlns:x1="http://objectweb.org/hello_world_soap_http/types"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <schema targetNamespace="http://objectweb.org/hello_world_soap_http/types"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:tns="http://objectweb.org/hello_world_soap_http/types"
- elementFormDefault="qualified">
- <simpleType name="MyStringType">
- <restriction base="string">
- <maxLength value="30" />
- </restriction>
- </simpleType>
-
- <element name="sayHi">
- <complexType/>
- </element>
- <element name="sayHiResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMe">
- <complexType>
- <sequence>
- <element name="requestType" type="tns:MyStringType"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMeResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMeOneWay">
- <complexType>
- <sequence>
- <element name="requestType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="pingMe">
- <complexType/>
- </element>
- <element name="pingMeResponse">
- <complexType/>
- </element>
- <element name="faultDetail">
- <complexType>
- <sequence>
- <element name="minor" type="short"/>
- <element name="major" type="short"/>
- </sequence>
- </complexType>
- </element>
- </schema>
- </wsdl:types>
- <wsdl:message name="sayHiRequest">
- <wsdl:part element="x1:sayHi" name="in"/>
- </wsdl:message>
- <wsdl:message name="sayHiResponse">
- <wsdl:part element="x1:sayHiResponse" name="out"/>
- </wsdl:message>
- <wsdl:message name="greetMeRequest">
- <wsdl:part element="x1:greetMe" name="in"/>
- </wsdl:message>
- <wsdl:message name="greetMeResponse">
- <wsdl:part element="x1:greetMeResponse" name="out"/>
- </wsdl:message>
- <wsdl:message name="greetMeOneWayRequest">
- <wsdl:part element="x1:greetMeOneWay" name="in"/>
- </wsdl:message>
-
- <wsdl:portType name="Greeter">
- <wsdl:operation name="sayHi">
- <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
- <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="greetMe">
- <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
- <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeOneWay">
- <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeWithCallback">
- <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
- <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
- </wsdl:operation>
-
- </wsdl:portType>
- <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-
- <wsdl:operation name="sayHi">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="sayHiRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="sayHiResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
-
- <wsdl:operation name="greetMe">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="greetMeRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="greetMeResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeOneWay">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="greetMeOneWayRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeWithCallback">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="greetMeRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="greetMeResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
-
- </wsdl:binding>
- <wsdl:service name="SOAPService">
- <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
- <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/.checkstyle b/branches/sca-java-M2/sca/services/bindings/binding.celtix/.checkstyle
deleted file mode 100644
index a2af63613f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/.checkstyle
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<fileset-config file-format-version="1.2.0" simple-config="true">
- <fileset name="all" enabled="true" check-config-name="Tuscany Checks" local="false">
- <file-match-pattern match-pattern="." include-pattern="true"/>
- </fileset>
-</fileset-config>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/.pmd b/branches/sca-java-M2/sca/services/bindings/binding.celtix/.pmd
deleted file mode 100644
index 3e1ff77730..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/.pmd
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<pmd>
- <useProjectRuleSet>true</useProjectRuleSet>
- <rules/>
-</pmd>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/.ruleset b/branches/sca-java-M2/sca/services/bindings/binding.celtix/.ruleset
deleted file mode 100644
index 0933c1569c..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/LICENSE.txt b/branches/sca-java-M2/sca/services/bindings/binding.celtix/LICENSE.txt
deleted file mode 100644
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/NOTICE.txt b/branches/sca-java-M2/sca/services/bindings/binding.celtix/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/README.txt b/branches/sca-java-M2/sca/services/bindings/binding.celtix/README.txt
deleted file mode 100644
index 9b26d1690a..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/README.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-Apache Tuscany M1 build (May, 2006)
-===================================
-
-http://incubator.apache.org/tuscany/
-
-Tuscany is an effort undergoing incubation at the Apache Software Foundation
-(ASF), sponsored by the Web Services PMC.
-
-Incubation is required of all newly accepted projects until a further review
-indicates that the infrastructure, communications, and decision making process
-have stabilized in a manner consistent with other successful ASF projects.
-
-While incubation status is not necessarily a reflection of the completeness or
-stability of the code, it does indicate that the project has yet to be fully
-endorsed by the ASF.
-
-
-Support
--------
-
-Any problem with this release can be reported to the Tuscany mailing list
-or in the JIRA issue tracker.
-
-Mailing list subscription:
- tuscany-dev-subscribe@ws.apache.org
-
-Jira:
- http://issues.apache.org/jira/browse/Tuscany
-
-
-Thank you for using Tuscany!
-
-
-The Tuscany Team.
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/pom.xml b/branches/sca-java-M2/sca/services/bindings/binding.celtix/pom.xml
deleted file mode 100644
index 0a71a1e338..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/pom.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <parent>
- <groupId>org.apache.tuscany.sca.services.bindings</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>celtix</artifactId>
- <name>Apache Tuscany Binding for Celtix</name>
- <description>Implementation of the SCA Web Services binding using Celtix.</description>
-
- <properties>
- <celtix.version>1.0</celtix.version>
- <checkstyle.properties>checkstyle.severity=error</checkstyle.properties>
- <sourcechecks.force>true</sourcechecks.force>
- </properties>
- <repositories>
- <repository>
- <id>objectweb</id>
- <name>ObjectWeb repo</name>
- <url>http://maven.objectweb.org/maven2</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>core</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>wsdl</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>databinding-sdo</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <!-- Celtix -->
- <dependency>
- <groupId>org.objectweb.celtix</groupId>
- <artifactId>celtix-rt</artifactId>
- <version>${celtix.version}</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
- <dependency>
- <groupId>woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusService.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusService.java
deleted file mode 100644
index 238fbe97b0..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusService.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import org.objectweb.celtix.Bus;
-
-/**
- * A system service that returns the active Celtix <code>Bus</code> for the runtime
- *
- * @version $Rev$ $Date$
- */
-public interface BusService {
-
- /**
- * Returns the active bus
- */
- Bus getBus();
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusServiceImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusServiceImpl.java
deleted file mode 100644
index 3a1c95c95e..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/BusServiceImpl.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.util.Map;
-import java.util.WeakHashMap;
-
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-
-import org.objectweb.celtix.Bus;
-import org.objectweb.celtix.BusException;
-import org.osoa.sca.annotations.Destroy;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * The default implementation of the Celtix Bus system service
- *
- * @version $Rev$ $Date$
- */
-@Scope("MODULE")
-public class BusServiceImpl implements BusService {
-
- protected WSDLDefinitionRegistry wsdlRegistry;
- private Bus bus;
-
- public Bus getBus() {
- return bus;
- }
-
- /**
- * FIXME the annotation processing framework must inject this
- * @param wsdlReg
- */
- @Property (override = "must")
- public void setWsdlRegistry(WSDLDefinitionRegistry wsdlReg) {
- wsdlRegistry = wsdlReg;
- }
-
- /**
- * Initializes the bus, set to be called when the runtime initializes the Celtix system composite
- * @throws BusException
- */
- @Init(eager = true)
- public void init() throws BusException {
- Map<String, Object> properties = new WeakHashMap<String, Object>();
- properties.put("celtix.WSDLManager", new TuscanyWSDLManager(wsdlRegistry));
- bus = Bus.init(new String[0], properties);
- }
-
- /**
- * Shuts down the bus, called when the runtime stops the Celtix system composite
- * @throws BusException
- */
- @Destroy
- public void stop() throws BusException {
- bus.shutdown(true);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixBindingBuilder.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixBindingBuilder.java
deleted file mode 100644
index ec1a71b19d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixBindingBuilder.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.util.Map;
-import java.util.WeakHashMap;
-
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-import org.objectweb.celtix.Bus;
-
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * Builds a {@link org.apache.tuscany.spi.component.Service} or {@link org.apache.tuscany.spi.component.Reference}
- * configured with the Celtix binding
- *
- * @version $Rev$ $Date$
- */
-public class CeltixBindingBuilder extends BindingBuilderExtension<WebServiceBinding> {
-
- private Bus bus;
-
- public Service build(CompositeComponent parent,
- BoundServiceDefinition<WebServiceBinding> boundServiceDefinition,
- DeploymentContext deploymentContext) {
- WebServiceBinding wsBinding = boundServiceDefinition.getBinding();
- TypeHelper typeHelper = (TypeHelper) deploymentContext.getExtension(TypeHelper.class.getName());
- if (typeHelper == null) {
- typeHelper = TypeHelper.INSTANCE;
- }
- if (bus == null) {
- bus = getBus(wsBinding.getWSDLDefinitionRegistry());
- }
- return new CeltixService(
- boundServiceDefinition.getName(),
- boundServiceDefinition.getServiceContract().getInterfaceClass(),
- parent,
- wireService,
- wsBinding,
- bus,
- typeHelper);
- }
-
- public Reference build(CompositeComponent parent,
- BoundReferenceDefinition<WebServiceBinding> boundReferenceDefinition,
- DeploymentContext deploymentContext) {
- WebServiceBinding wsBinding = boundReferenceDefinition.getBinding();
- TypeHelper typeHelper = (TypeHelper) deploymentContext.getExtension(TypeHelper.class.getName());
- if (typeHelper == null) {
- typeHelper = TypeHelper.INSTANCE;
- }
- if (bus == null) {
- bus = getBus(wsBinding.getWSDLDefinitionRegistry());
- }
- return new CeltixReference(
- boundReferenceDefinition.getName(),
- boundReferenceDefinition.getServiceContract().getInterfaceClass(),
- parent,
- wireService,
- wsBinding,
- bus,
- typeHelper);
- }
-
- protected Class<WebServiceBinding> getBindingType() {
- return WebServiceBinding.class;
- }
-
- private Bus getBus(WSDLDefinitionRegistry wsdlDefinitionRegistry) {
- Bus celtixBus = null;
- try {
- Map<String, Object> properties = new WeakHashMap<String, Object>();
- properties.put("celtix.WSDLManager", new TuscanyWSDLManager(wsdlDefinitionRegistry));
- celtixBus = Bus.init(new String[0], properties);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return celtixBus;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java
deleted file mode 100644
index aba5fd5984..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-import javax.jws.WebParam;
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.xml.namespace.QName;
-import javax.xml.ws.Holder;
-
-import org.apache.tuscany.spi.builder.BuilderException;
-import org.apache.tuscany.spi.wire.Interceptor;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-import commonj.sdo.helper.TypeHelper;
-import org.apache.tuscany.binding.celtix.io.SCADataBindingCallback;
-import org.objectweb.celtix.Bus;
-import org.objectweb.celtix.BusException;
-import org.objectweb.celtix.bindings.ClientBinding;
-import org.objectweb.celtix.bindings.DataBindingCallback;
-import org.objectweb.celtix.bus.bindings.WSDLMetaDataCache;
-import org.objectweb.celtix.bus.bindings.WSDLOperationInfo;
-import org.objectweb.celtix.context.ObjectMessageContext;
-import org.objectweb.celtix.ws.addressing.EndpointReferenceType;
-import org.objectweb.celtix.wsdl.EndpointReferenceUtils;
-import org.xmlsoap.schemas.wsdl.http.AddressType;
-
-
-/**
- * Responsible for dispatching a service operation invocation on a reference to the active Celtix <code>Bus</code>
- *
- * @version $Rev$ $Date$
- */
-public class CeltixInvoker implements TargetInvoker {
-
- private WSDLMetaDataCache wsdlCache;
-
- private ClientBinding clientBinding;
-
- private String operationName;
-
- private TypeHelper typeHelper;
-
- public CeltixInvoker(String operationName,
- Bus bus,
- Port port,
- Service wsdlService,
- Definition wsdlDef,
- TypeHelper theTypeHelper) throws BuilderException {
- this.wsdlCache = new WSDLMetaDataCache(wsdlDef, port);
- this.operationName = operationName;
- this.typeHelper = theTypeHelper;
- // Definition wsdlDef = wsBinding.getWSDLDefinition();
- // wsdlCache = new WSDLMetaDataCache(wsdlDef, wsBinding.getWSDLPort());
-
- try {
- String key = wsdlDef.getDocumentBaseURI();
- URL url = new URL(key);
-
- QName qName = wsdlService.getQName();
- EndpointReferenceType reference = EndpointReferenceUtils.getEndpointReference(url, qName, port.getName());
-
- String bindingId = null;
- Binding binding = port.getBinding();
- if (null != binding) {
- List list = binding.getExtensibilityElements();
- if (!list.isEmpty()) {
- bindingId = ((ExtensibilityElement) list.get(0)).getElementType().getNamespaceURI();
- }
- }
- if (bindingId == null) {
- List<?> list = port.getExtensibilityElements();
- for (Object ep : list) {
- ExtensibilityElement ext = (ExtensibilityElement) ep;
- if (ext instanceof SOAPAddress) {
- bindingId = ((SOAPAddress) ext).getLocationURI();
- }
- if (ext instanceof AddressType) {
- bindingId = ((AddressType) ext).getLocation();
- }
- }
-
- }
- clientBinding = bus.getBindingManager().getBindingFactory(bindingId).createClientBinding(reference);
- } catch (MalformedURLException e) {
- throw new InvokerCreationException(e);
- } catch (BusException e) {
- throw new InvokerCreationException(e);
- } catch (WSDLException e) {
- throw new InvokerCreationException(e);
- } catch (IOException e) {
- throw new InvokerCreationException(e);
- }
- }
-
- /**
- * Invoke an operation on the external Web service.
- *
- * @param args the Java object arguments to the WS operation
- * @return the response from the WS as a Java object
- */
- public Object invokeTarget(final Object args) throws InvocationTargetException {
- WSDLOperationInfo opInfo = wsdlCache.getOperationInfo(operationName);
- if (opInfo == null) {
- // REVISIT - really map the operation name to a WSDL operation
- for (String opName : wsdlCache.getAllOperationInfo().keySet()) {
- if (operationName.equalsIgnoreCase(opName)) {
- opInfo = wsdlCache.getOperationInfo(opName);
- break;
- }
- }
- }
-
- ObjectMessageContext objMsgContext = clientBinding.createObjectContext();
-
- boolean hasInOut = false;
- int inOutCount = 0;
- Object realArgs[];
- Object argsArray[];
- if (args.getClass().isArray()) {
- argsArray = (Object[]) args;
- realArgs = new Object[Array.getLength(args)];
- } else {
- argsArray = new Object[0];
- realArgs = new Object[0];
- }
-
- if (opInfo.getParamsLength() == 0) {
- // REVISIT - opInfo doesn't return the needed info for the wrapped doc/lit case.
- // Bug in Celtix
- realArgs = argsArray;
- } else {
- for (int x = 0; x < argsArray.length; x++) {
- if (opInfo.getWebParam(x).mode() == WebParam.Mode.IN) {
- realArgs[x] = argsArray[x];
- } else {
- realArgs[x] = new Holder<Object>(argsArray[x]);
- inOutCount++;
- hasInOut = true;
- }
- }
- }
- objMsgContext.setMessageObjects(realArgs);
- boolean isOneway = opInfo.isOneWay();
- DataBindingCallback callback = new SCADataBindingCallback(opInfo, hasInOut, typeHelper);
- try {
- if (isOneway) {
- clientBinding.invokeOneWay(objMsgContext, callback);
- } else {
- objMsgContext = clientBinding.invoke(objMsgContext, callback);
- }
- } catch (IOException e) {
- throw new InvocationTargetException(e);
- }
-
- if (objMsgContext.getException() != null) {
- // REVISIT - Exceptions
- /*
- * if (isValidException(objMsgContext)) { throw
- * (Exception)objMsgContext.getException(); } else { throw new
- * ProtocolException(objMsgContext.getException()); }
- */
- throw new InvocationTargetException(objMsgContext.getException());
- }
-
- if (hasInOut) {
- Object ret[] = new Object[inOutCount + 1];
- ret[0] = objMsgContext.getReturn();
- inOutCount = 1;
- for (int x = 0; x < argsArray.length; x++) {
- if (opInfo.getWebParam(x).mode() != WebParam.Mode.IN) {
- Holder<?> holder = (Holder<?>) realArgs[x];
- ret[inOutCount] = holder.value;
- inOutCount++;
- }
- }
- return ret;
- }
- return objMsgContext.getReturn();
- }
-
- public Message invoke(Message msg) {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-
- public void setNext(Interceptor next) {
- throw new UnsupportedOperationException();
- }
-
- public CeltixInvoker clone() throws CloneNotSupportedException {
- try {
- return (CeltixInvoker) super.clone();
- } catch (CloneNotSupportedException e) {
- // will not happen
- return null;
- }
- }
-
- public boolean isCacheable() {
- return true;
- }
-
- public void setCacheable(boolean cacheable) {
-
- }
-
- public boolean isOptimizable() {
- return false;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixReference.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixReference.java
deleted file mode 100644
index c32f332d4b..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixReference.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ReferenceExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-
-import commonj.sdo.helper.TypeHelper;
-import org.objectweb.celtix.Bus;
-
-/**
- * The implementation of a {@link org.apache.tuscany.spi.component.Reference} configured with the Celtix binding
- *
- * @version $Rev$ $Date$
- */
-public class CeltixReference<T> extends ReferenceExtension {
-
- private Bus bus;
- private Port port;
- private Definition wsdlDef;
- private Service wsdlService;
- private TypeHelper typeHelper;
-
- public CeltixReference(String name,
- Class<T> interfaze,
- CompositeComponent parent,
- WireService wireService,
- WebServiceBinding binding,
- Bus theBus,
- TypeHelper theTypeHelper) {
- super(name, interfaze, parent, wireService);
- this.wsdlDef = binding.getWSDLDefinition();
- this.port = binding.getWSDLPort();
- this.wsdlService = binding.getWSDLService();
- this.bus = theBus;
- this.typeHelper = theTypeHelper;
- }
-
- public TargetInvoker createTargetInvoker(ServiceContract contract, Operation operation) {
- return new CeltixInvoker(operation.getName(), bus, port, wsdlService, wsdlDef, typeHelper);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixService.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixService.java
deleted file mode 100644
index 097f0ac050..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixService.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.Executor;
-import javax.jws.soap.SOAPBinding;
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.xml.namespace.QName;
-import javax.xml.ws.WebServiceProvider;
-
-import org.osoa.sca.annotations.Destroy;
-
-import org.apache.tuscany.spi.CoreRuntimeException;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.wire.WireService;
-
-import commonj.sdo.helper.TypeHelper;
-import org.apache.tuscany.binding.celtix.io.SCAServerDataBindingCallback;
-import org.objectweb.celtix.Bus;
-import org.objectweb.celtix.bindings.BindingFactory;
-import org.objectweb.celtix.bindings.DataBindingCallback;
-import org.objectweb.celtix.bindings.ServerBinding;
-import org.objectweb.celtix.bindings.ServerBindingEndpointCallback;
-import org.objectweb.celtix.bindings.ServerDataBindingCallback;
-import org.objectweb.celtix.bus.bindings.WSDLMetaDataCache;
-import org.objectweb.celtix.bus.bindings.WSDLOperationInfo;
-import org.objectweb.celtix.context.ObjectMessageContext;
-import org.objectweb.celtix.ws.addressing.AttributedURIType;
-import org.objectweb.celtix.ws.addressing.EndpointReferenceType;
-import org.objectweb.celtix.wsdl.EndpointReferenceUtils;
-import org.xmlsoap.schemas.wsdl.http.AddressType;
-
-
-/**
- * An implementation of a {@link Service} configured with the Celtix binding
- *
- * @version $Rev$ $Date$
- */
-public class CeltixService extends ServiceExtension implements ServerBindingEndpointCallback {
-
- private Bus bus;
- private Port port;
- private Definition wsdlDef;
- private Service wsdlService;
- private WSDLMetaDataCache wsdlCache;
- private TypeHelper typeHelper;
-
- private Map<QName, ServerDataBindingCallback> opMap =
- new ConcurrentHashMap<QName, ServerDataBindingCallback>();
-
-
- public CeltixService(String theName,
- Class<?> interfaze,
- CompositeComponent parent,
- WireService wireService,
- WebServiceBinding binding,
- Bus bus,
- TypeHelper theTypeHelper) {
- super(theName, interfaze, parent, wireService);
- this.wsdlDef = binding.getWSDLDefinition();
- this.port = binding.getWSDLPort();
- this.wsdlService = binding.getWSDLService();
- this.bus = bus;
- this.wsdlCache = new WSDLMetaDataCache(wsdlDef, port);
- this.typeHelper = theTypeHelper;
- }
-
- public void start() {
- super.start();
- initOperationMap();
- startServerBinding();
- }
-
- private void startServerBinding() {
- String key = wsdlDef.getDocumentBaseURI();
- URL url;
- try {
- url = new URL(key);
- } catch (MalformedURLException e) {
- throw new CeltixServiceInitException(e);
- }
-
- QName qName = wsdlService.getQName();
- String portName = port.getName();
- EndpointReferenceType reference = EndpointReferenceUtils.getEndpointReference(url,qName,portName);
-
- AttributedURIType address = new AttributedURIType();
-
- String bindingId = null;
- Binding binding = port.getBinding();
- if (null != binding) {
- List list = binding.getExtensibilityElements();
- if (!list.isEmpty()) {
- bindingId = ((ExtensibilityElement) list.get(0)).getElementType().getNamespaceURI();
- }
- }
- List<?> list = port.getExtensibilityElements();
- for (Object ep : list) {
- ExtensibilityElement ext = (ExtensibilityElement) ep;
- if (ext instanceof SOAPAddress) {
- if (bindingId == null) {
- bindingId = ((SOAPAddress) ext).getLocationURI();
- }
- address.setValue(((SOAPAddress) ext).getLocationURI());
- }
- if (ext instanceof AddressType) {
- if (bindingId == null) {
- bindingId = ((AddressType) ext).getLocation();
- }
- address.setValue(((AddressType) ext).getLocation());
- }
- }
- if (reference.getAddress() == null) {
- //REVIST - bug in Celtix that the HTTP transport won't find the address correctly
- reference.setAddress(address);
- }
- ClassLoader previousLoader = null;
- try {
- //FIXME: This hack is because SAAJImpl uses Thread.currentThread().getContextClassLoader(),
- //this classloader is different from current classLoader.
- previousLoader = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
- BindingFactory bindingFactory = bus.getBindingManager().getBindingFactory(bindingId);
- ServerBinding serverBinding = bindingFactory.createServerBinding(reference, this);
- serverBinding.activate();
- } catch (Exception e) {
- throw new CeltixServiceInitException(e);
- } finally {
- if (previousLoader != null) {
- Thread.currentThread().setContextClassLoader(previousLoader);
- }
- }
- }
-
- private void initOperationMap() {
- List ops = port.getBinding().getBindingOperations();
- for (Object op1 : ops) {
- BindingOperation op = (BindingOperation) op1;
- BindingInput bindingInput = op.getBindingInput();
- List elements = bindingInput.getExtensibilityElements();
- QName qn = new QName(wsdlDef.getTargetNamespace(), op.getName());
-
- //In case soap:body namespace is different from targetNamespace
- for (Object element : elements) {
- if (SOAPBody.class.isInstance(element)) {
- SOAPBody body = (SOAPBody) element;
- if (body.getNamespaceURI() != null) {
- qn = new QName(body.getNamespaceURI(), op.getName());
- }
- }
- }
-
- ServerDataBindingCallback cb = getDataBindingCallback(qn, null, DataBindingCallback.Mode.PARTS);
- opMap.put(qn, cb);
- if (!"".equals(cb.getRequestWrapperQName().getLocalPart())) {
- opMap.put(cb.getRequestWrapperQName(), cb);
- }
- }
- }
-
- @Destroy
- public void stop() throws CoreRuntimeException {
- super.stop();
- }
-
- public ServerDataBindingCallback getDataBindingCallback(QName operationName,
- ObjectMessageContext objContext,
- DataBindingCallback.Mode mode) {
- if (opMap.containsKey(operationName)) {
- return opMap.get(operationName);
- }
- WSDLOperationInfo opInfo = wsdlCache.getOperationInfo(operationName.getLocalPart());
- if (opInfo == null) {
- //REVISIT - really map the operation name to a WSDL operation
- for (String opName : wsdlCache.getAllOperationInfo().keySet()) {
- if (operationName.getLocalPart().equalsIgnoreCase(opName)) {
- opInfo = wsdlCache.getOperationInfo(opName);
- break;
- }
- }
- }
- boolean inout = false;
-
- Class<?> serviceInterface = this.getInterface();
- Method meth = getMethod(serviceInterface, operationName.getLocalPart());
-
- Object proxy = this.getServiceInstance();
-
- return new SCAServerDataBindingCallback(opInfo, inout, meth, proxy, typeHelper);
- }
-
- protected Method getMethod(Class<?> serviceInterface, String operationName) {
- // Note: this doesn't support overloaded operations
- Method[] methods = serviceInterface.getMethods();
- for (Method m : methods) {
- if (m.getName().equals(operationName)) {
- return m;
- }
- // tolerate WSDL with capatalized operation name
- StringBuilder sb = new StringBuilder(operationName);
- sb.setCharAt(0, Character.toLowerCase(sb.charAt(0)));
- if (m.getName().equals(sb.toString())) {
- return m;
- }
- }
- throw new BuilderConfigException("no operation named " + operationName
- + " found on service interface: " + serviceInterface.getName());
- }
-
- public DataBindingCallback getFaultDataBindingCallback(ObjectMessageContext objContext) {
- // REVISIT - what to do about faults
- return null;
- }
-
- public Map<QName, ? extends DataBindingCallback> getOperations() {
- return opMap;
- }
-
- public SOAPBinding.Style getStyle() {
- return wsdlCache.getStyle();
- }
-
- public DataBindingCallback.Mode getServiceMode() {
- return DataBindingCallback.Mode.PARTS;
- }
-
- public WebServiceProvider getWebServiceProvider() {
- //not needed I think
- return null;
- }
-
- public Executor getExecutor() {
- //Let the transport handle it (or it goes to the Bus default wq
- //if the transport cannot handle it
- return null;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixServiceInitException.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixServiceInitException.java
deleted file mode 100644
index 4eca4a3bd1..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixServiceInitException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import org.apache.tuscany.spi.CoreRuntimeException;
-
-/**
- * Denotes an exception starting a {@link CeltixService} instance
- *
- * @version $Rev$ $Date$
- */
-public class CeltixServiceInitException extends CoreRuntimeException {
- public CeltixServiceInitException() {
- }
-
- public CeltixServiceInitException(String message) {
- super(message);
- }
-
- public CeltixServiceInitException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public CeltixServiceInitException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/InvokerCreationException.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/InvokerCreationException.java
deleted file mode 100644
index e08a3193d8..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/InvokerCreationException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import org.apache.tuscany.spi.builder.BuilderException;
-
-/**
- * Thrown when an error is encountered creating a {@link CeltixInvoker}
- *
- * @version $Rev$ $Date$
- */
-public class InvokerCreationException extends BuilderException {
- public InvokerCreationException() {
- }
-
- public InvokerCreationException(String message) {
- super(message);
- }
-
- public InvokerCreationException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public InvokerCreationException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/TuscanyWSDLManager.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/TuscanyWSDLManager.java
deleted file mode 100644
index 18efe80da5..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/TuscanyWSDLManager.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.io.IOException;
-import java.net.URL;
-import javax.wsdl.Definition;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensionRegistry;
-import javax.wsdl.factory.WSDLFactory;
-
-import org.w3c.dom.Element;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-
-import org.objectweb.celtix.wsdl.WSDLManager;
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyWSDLManager implements WSDLManager {
- WSDLDefinitionRegistry wsdlDefinitionRegistry;
-
- public TuscanyWSDLManager(WSDLDefinitionRegistry w) {
- wsdlDefinitionRegistry = w;
- }
-
- public WSDLFactory getWSDLFactory() {
- //Not supported
- return null;
- }
-
- public ExtensionRegistry getExtenstionRegistry() {
- return wsdlDefinitionRegistry.getExtensionRegistry();
- }
-
- public Definition getDefinition(URL url) throws WSDLException {
- try {
- return wsdlDefinitionRegistry.loadDefinition(null, url);
- } catch (IOException e) {
- //FIXME
- throw new WSDLException("", "", e);
- }
- }
-
- public Definition getDefinition(String url) throws WSDLException {
- try {
- //The namespace is the wsdl targetNamesapce, it is only used
- //when the wsdl is created into cache. we are ok here to set it to null.
- //FIXME pass the current ResourceLoader
- return wsdlDefinitionRegistry.loadDefinition(null, new URL(url));
- } catch (IOException e) {
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, e.getMessage());
- }
- }
-
- public Definition getDefinition(Element el) throws WSDLException {
- throw new UnsupportedOperationException();
- }
-
- public Definition getDefinition(Class<?> sei) throws WSDLException {
- throw new UnsupportedOperationException();
- }
-
- public void addDefinition(Object key, Definition wsdl) {
- throw new UnsupportedOperationException();
- }
-
- public void shutdown() {
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBinding.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBinding.java
deleted file mode 100644
index 49df9a6e28..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBinding.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-import org.apache.tuscany.spi.model.Binding;
-
-/**
- * Represents a Celtix binding configuration in an assembly
- *
- * @version $Rev$ $Date$
- */
-public class WebServiceBinding extends Binding {
-
- private Definition definition;
- private Port port;
- private Service service;
- //private String portURI;
- private String uri;
- //We have to use WebServiceBinding to pass WSDLDefinitionRegistry to BindingBuilder
- private WSDLDefinitionRegistry wsdlDefinitionRegistry;
-
- public WebServiceBinding(Definition definition, Port port, String uri, String portURI, Service service) {
- this.definition = definition;
- this.port = port;
- this.uri = uri;
- //this.portURI = portURI;
- this.service = service;
- }
-
- public Port getWSDLPort() {
- return port;
- }
-
- public Service getWSDLService() {
- return service;
- }
-
- public void setWSDLPort(Port value) {
- port = value;
- }
-
- public Definition getWSDLDefinition() {
- return definition;
- }
-
- public void setWSDLDefinition(Definition def) {
- definition = def;
- }
-
- public WSDLDefinitionRegistry getWSDLDefinitionRegistry() {
- return wsdlDefinitionRegistry;
- }
-
- public void setWSDLDefinitionRegistry(WSDLDefinitionRegistry theWsdlDefinitionRegistry) {
- wsdlDefinitionRegistry = theWsdlDefinitionRegistry;
- }
-
-// public void setPortURI(String uri) {
-// portURI = uri;
-// }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String theUri) {
- this.uri = theUri;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBindingLoader.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBindingLoader.java
deleted file mode 100644
index 5b11d02931..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/WebServiceBindingLoader.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.xml.sax.InputSource;
-import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-import org.osoa.sca.annotations.Constructor;
-import org.osoa.sca.annotations.Scope;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl.Monitor;
-
-/**
- * Parses a <code>WebServiceBinding</code> entry in an assembly XML file
- *
- * @version $Rev$ $Date$
- */
-@Scope("MODULE")
-public class WebServiceBindingLoader extends LoaderExtension<WebServiceBinding> {
- public static final QName BINDING_WS = new QName(XML_NAMESPACE_1_0, "binding.ws");
-
- protected WSDLDefinitionRegistry wsdlRegistry;
-
- @Constructor({"registry"})
- public WebServiceBindingLoader(@Autowire LoaderRegistry registry) {
- super(registry);
-
- //FIXME: this is a hack, WSDLDefinitionRegistry should not be created here
- if (wsdlRegistry == null) {
- try {
- wsdlRegistry = new WSDLDefinitionRegistryImpl();
- Monitor monitor = new Monitor() {
- public void readingWSDL(String namespace, URL location) {
- }
-
- public void cachingDefinition(String namespace, URL location) {
- }
- };
-
- ((WSDLDefinitionRegistryImpl) wsdlRegistry).setMonitor(monitor);
- } catch (javax.wsdl.WSDLException e) {
- //do nothing
- }
- }
- }
-
- public QName getXMLType() {
- return BINDING_WS;
- }
-
- public WebServiceBinding load(CompositeComponent parent,
- XMLStreamReader reader,
- DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
- // not sure what uri was here ? String uri = reader.getAttributeValue(null, "uri");
- String uri = null;
- String endpointAttribute = reader.getAttributeValue(null, "endpoint");
- //String portURI = reader.getAttributeValue(null, "port");
- String wsdlLocation = reader.getAttributeValue(null, "location");
- try {
- return createBinding(uri, endpointAttribute, wsdlLocation, deploymentContext);
- } catch (Exception e) {
-
- throw new LoaderException(e);
- }
- }
-
- private WebServiceBinding createBinding(String port, String portURI, String wsdlLocation,
- DeploymentContext deploymentContext)
- throws WSDLException, IOException {
- List<Definition> definitions = null;
- // FIXME wsdlRegistry.getDefinitionsForNamespace(portNamespace,
- // resourceLoader);
- // Get the WSDL port namespace and name
- if (port == null && portURI != null) {
- int h = portURI.indexOf('#');
- String portNamespace = portURI.substring(0, h);
- String serviceName;
- String portName;
-
- String fragment = portURI.substring(h + 1);
- if (fragment.startsWith("wsdl.endpoint(") && fragment.endsWith(")")) {
- fragment = fragment.substring(14, fragment.length() - 1);
- int slash = fragment.indexOf('/');
- if (slash != -1) {
- serviceName = fragment.substring(0, slash);
- portName = fragment.substring(slash + 1);
- } else {
- serviceName = null;
- portName = fragment;
- }
- } else {
- serviceName = null;
- portName = fragment;
- }
-
- // FIXME need to find out how to get wsdl and what context to use --- terrible hack attack!
- // URL wsdlurl = Thread.currentThread().getContextClassLoader().getResource(wsdlLocation);
- if (null == wsdlLocation) {
- throw new RuntimeException("Failed to determin wsdl location on binding. "
- + "Try specifying 'location' attribute on binding.");
- }
- URL wsdlurl = deploymentContext.getClassLoader().getResource(wsdlLocation);
- if (wsdlurl == null) {
- throw new RuntimeException("Failed to load wsdl from '" + wsdlLocation + "'");
- }
-
- WSDLFactory factory = WSDLFactory.newInstance();
- WSDLReader reader = factory.newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- InputSource input = new InputSource(wsdlurl.openStream());
- Definition wsdlDef = reader.readWSDL(wsdlurl.toString(), input);
- definitions = new LinkedList<Definition>();
- definitions.add(wsdlDef);
- // FIXME all the above needs to better addressed.
-
- //FIXME: if a global wsdl cached is used, we need to do a registration here
- String namespace = wsdlDef.getTargetNamespace();
- wsdlRegistry.loadDefinition(namespace, wsdlurl);
-
- Definition definition = null;
- Port thePort = null;
- Service service = null;
- for (Definition def : definitions) {
-
- // Find the port with the given name
- for (Service serv : (Collection<Service>) def.getServices().values()) {
- QName sqn = serv.getQName();
- if (serviceName != null
- && !serviceName.equals(sqn.getLocalPart())) {
- continue;
- }
-
- Port p = serv.getPort(portName);
- if (p != null) {
- service = serv;
- definition = def;
- thePort = p;
- break;
- }
- }
- }
- if (thePort == null) {
- throw new IllegalArgumentException("Cannot find WSDL port " + portURI);
-
- }
- WebServiceBinding wsBinding = new WebServiceBinding(definition, thePort, port, portURI, service);
- wsBinding.setWSDLDefinitionRegistry(wsdlRegistry);
- return wsBinding;
- }
- // FIXME - return a broken binding for now
- return new WebServiceBinding(null, null, null, portURI, null);
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataReader.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataReader.java
deleted file mode 100644
index 7a14ab33fc..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataReader.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.util.List;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.bootstrap.DOMImplementationRegistry;
-import static org.w3c.dom.bootstrap.DOMImplementationRegistry.PROPERTY;
-import org.w3c.dom.ls.DOMImplementationLS;
-import org.w3c.dom.ls.LSOutput;
-import org.w3c.dom.ls.LSSerializer;
-
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.model.DataType;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-
-import org.apache.tuscany.core.databinding.impl.TransformationContextImpl;
-import org.apache.tuscany.databinding.sdo.XMLStreamReader2XMLDocument;
-import org.objectweb.celtix.bindings.DataReader;
-import org.objectweb.celtix.context.ObjectMessageContext;
-
-public class NodeDataReader implements DataReader<Node> {
-
- private SCADataBindingCallback callback;
-
- public NodeDataReader(SCADataBindingCallback cb) {
- callback = cb;
- }
-
- public Object read(int idx, Node input) {
- return read(null, idx, input);
- }
-
- public Object read(QName name, int idx, Node input) {
- try {
- InputStream in = getNodeStream(input);
- XMLInputFactory staxFactory = XMLInputFactory.newInstance();
- XMLStreamReader reader = staxFactory.createXMLStreamReader(in);
-
- XMLStreamReader2XMLDocument transformer = new XMLStreamReader2XMLDocument();
- TransformationContext context = new TransformationContextImpl();
- DataType<QName> binding = new DataType<QName>(DataObject.class, null);
- binding.setMetadata(TypeHelper.class.getName(), callback.getTypeHelper());
- context.setTargetDataType(binding);
- XMLDocument document = transformer.transform(reader, context);
-
- boolean isWrapped = false;
- return toObjects(document, isWrapped);
- } catch (Exception e) {
- //REVISIT: better handling of exceptions
- }
- return null;
- }
-
- public void readWrapper(ObjectMessageContext objCtx, boolean isOutBound, Node input) {
- try {
- QName wrapperName;
- if (isOutBound) {
- wrapperName = callback.getOperationInfo().getResponseWrapperQName();
- } else {
- wrapperName = callback.getOperationInfo().getRequestWrapperQName();
- }
-
- Node nd = input.getFirstChild();
- while (nd != null
- && !wrapperName.getNamespaceURI().equals(nd.getNamespaceURI())
- && !wrapperName.getLocalPart().equals(nd.getLocalName())) {
- nd = nd.getNextSibling();
- }
-
- //REVISIT - This is SUCH a HACK. This needs to be done with StAX or something
- //a bit better than streaming and reparsing
- InputStream in = getNodeStream(nd);
- XMLInputFactory staxFactory = XMLInputFactory.newInstance(
- "javax.xml.stream.XMLInputFactory", getClass().getClassLoader());
- XMLStreamReader reader = staxFactory.createXMLStreamReader(in);
-
- XMLStreamReader2XMLDocument transformer = new XMLStreamReader2XMLDocument();
- TransformationContext context = new TransformationContextImpl();
- DataType<QName> binding = new DataType<QName>(DataObject.class, null);
- binding.setMetadata(TypeHelper.class.getName(), callback.getTypeHelper());
- context.setTargetDataType(binding);
- XMLDocument document = transformer.transform(reader, context);
-
- //boolean isWrapped = true;
- Object[] objects = toObjects(document, true);
-
- if (callback.hasInOut()) {
- //REVISIT - inOuts
- } else {
- if (isOutBound) {
- objCtx.setReturn(objects[0]);
- } else {
- objCtx.setMessageObjects(objects);
- }
- }
- } catch (Exception e) {
- //REVISIT: better handling of exceptions
- }
- }
-
- /**
- * Convert a typed DataObject to Java objects
- *
- * @param document
- * @param isWrapped
- * @return the array of Objects from the DataObject
- */
- public static Object[] toObjects(XMLDocument document, boolean isWrapped) {
- DataObject dataObject = document.getRootObject();
- if (isWrapped) {
- List ips = dataObject.getInstanceProperties();
- Object[] os = new Object[ips.size()];
- for (int i = 0; i < ips.size(); i++) {
- os[i] = dataObject.get((Property) ips.get(i));
- }
- return os;
- } else {
- Object object = dataObject;
- Type type = dataObject.getType();
- if (type.isSequenced()) {
- object = dataObject.getSequence().getValue(0);
- }
- return new Object[]{object};
- }
- }
-
- byte[] getNodeBytes(Node node)
- throws ClassCastException, ClassNotFoundException, InstantiationException, IllegalAccessException {
-
- //This is also a hack, the JDK should already have this set, but it doesn't
- DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
- if (registry == null) {
- System.setProperty(PROPERTY, "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
- registry = DOMImplementationRegistry.newInstance();
- }
- DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
- if (impl == null) {
- System.setProperty(PROPERTY, "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
- registry = DOMImplementationRegistry.newInstance();
- impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
- }
- LSOutput output = impl.createLSOutput();
- ByteArrayOutputStream bout = new ByteArrayOutputStream();
- output.setByteStream(bout);
- LSSerializer writer = impl.createLSSerializer();
- writer.write(node, output);
-
- return bout.toByteArray();
- }
-
- InputStream getNodeStream(Node node)
- throws ClassCastException, ClassNotFoundException,
- InstantiationException, IllegalAccessException {
-
- DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
- if (registry == null) {
- //This is also a hack, the JDK should already have this set, but it doesn't
- System.setProperty(PROPERTY, "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
- registry = DOMImplementationRegistry.newInstance();
- }
- DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
- if (impl == null) {
- System.setProperty(PROPERTY, "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
- registry = DOMImplementationRegistry.newInstance();
- impl = (DOMImplementationLS) registry.getDOMImplementation("LS");
- }
- LSOutput output = impl.createLSOutput();
- RawByteArrayOutputStream bout = new RawByteArrayOutputStream();
- output.setByteStream(bout);
- LSSerializer writer = impl.createLSSerializer();
- writer.write(node, output);
-
- return new ByteArrayInputStream(bout.getBytes(), 0, bout.size());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataWriter.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataWriter.java
deleted file mode 100644
index d870cafa87..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/NodeDataWriter.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import java.util.List;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import org.apache.tuscany.databinding.sdo.XMLDocument2XMLStreamReader;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.objectweb.celtix.bindings.DataWriter;
-import org.objectweb.celtix.context.ObjectMessageContext;
-
-public class NodeDataWriter implements DataWriter<Node> {
- private static final String XML_NS = "http://www.w3.org/2000/xmlns/";
- private SCADataBindingCallback callback;
-
- public NodeDataWriter(SCADataBindingCallback cb) {
- callback = cb;
- }
-
- public void write(Object obj, Node output) {
- write(obj, null, output);
- }
-
- public void write(Object obj, QName elName, Node output) {
- boolean isWrapped = false;
-
- XMLDocument document = toXMLDocument(callback.getTypeHelper(), new Object[]{obj}, elName, isWrapped);
- // HACK: [rfeng] We should use the transformer in an interceptor
- XMLDocument2XMLStreamReader transformer = new XMLDocument2XMLStreamReader();
- XMLStreamReader reader = transformer.transform(document, null);
-
- try {
- //CeltixFire supports Stax, we should not need to do following anymore.
- readDocElements(output, reader, true, null);
- } catch (XMLStreamException e) {
- throw new InvocationRuntimeException(e.getMessage());
- }
- }
-
- public void writeWrapper(ObjectMessageContext objCtx, boolean isOutbound, Node output) {
- boolean isWrapped = true;
- QName wrapperName;
- if (isOutbound) {
- wrapperName = callback.getOperationInfo().getResponseWrapperQName();
- } else {
- wrapperName = callback.getOperationInfo().getRequestWrapperQName();
- }
-
- XMLDocument document = toXMLDocument(
- callback.getTypeHelper(), objCtx.getMessageObjects(), wrapperName, isWrapped);
- // HACK: [rfeng] We should use the transformer in an interceptor
- XMLDocument2XMLStreamReader transformer = new XMLDocument2XMLStreamReader();
- XMLStreamReader reader = transformer.transform(document, null);
-
- try {
- readDocElements(output, reader, true, null);
- } catch (XMLStreamException e) {
- e.printStackTrace();
- throw new InvocationRuntimeException(e.getMessage());
- }
- }
-/*
- private DataObject toWrappedDataObject(TypeHelper typeHelper,
- Object ret,
- Object[] os,
- QName typeQN) {
- XSDHelper xsdHelper = new XSDHelperImpl(typeHelper);
- Property property = xsdHelper.getGlobalProperty(typeQN.getNamespaceURI(),
- typeQN.getLocalPart(), true);
- DataObject dataObject = new DataFactoryImpl(typeHelper).create(property.getType());
- List ips = dataObject.getInstanceProperties();
- int offset = 0;
- if (ret != null) {
- dataObject.set(0, ret);
- offset = 1;
- }
- for (int i = offset; i < ips.size(); i++) {
- if (os[i - offset] instanceof Holder) {
- Holder<?> holder = (Holder<?>)os[i - offset];
- dataObject.set(i, holder.value);
- } else {
- dataObject.set(i, os[i - offset]);
- }
- }
- return dataObject;
- }
-*/
-
- /**
- * Convert objects to typed DataObject
- *
- * @param typeHelper
- * @param os
- * @param elementQName
- * @param isWrapped
- * @return the DataObject
- */
- private static XMLDocument toXMLDocument(TypeHelper typeHelper,
- Object[] os,
- QName elementQName,
- boolean isWrapped) {
- XSDHelper xsdHelper = SDOUtil.createXSDHelper(typeHelper);
-
- Property property = xsdHelper.getGlobalProperty(
- elementQName.getNamespaceURI(), elementQName.getLocalPart(), true);
- if (null == property) {
- throw new InvocationRuntimeException(
- "Type '" + elementQName.toString() + "' not found in registered SDO types.");
- }
- DataObject dataObject;
- if (isWrapped) {
- DataFactory dataFactory = SDOUtil.createDataFactory(typeHelper);
- dataObject = dataFactory.create(property.getType());
- List ips = dataObject.getInstanceProperties();
- for (int i = 0; i < ips.size(); i++) {
- dataObject.set(i, os[i]);
- }
- } else {
- Object value = os[0];
- Type type = property.getType();
- if (!type.isDataType()) {
- dataObject = (DataObject) value;
- } else {
- dataObject = SDOUtil.createDataTypeWrapper(type, value);
- }
- }
-
- XMLHelper xmlHelper = SDOUtil.createXMLHelper(typeHelper);
- return xmlHelper.createDocument(dataObject, elementQName.getNamespaceURI(), elementQName.getLocalPart());
-
- }
-
- //REVISIT: We should not need to do following anymore with CeltixFire.
- //As CeltixFire supports stax directly.
-
- /**
- * @param parent
- * @param reader
- * @param repairing
- * @param stopAt: stop at the specified element
- * @throws XMLStreamException
- */
- public static void readDocElements(Node parent, XMLStreamReader reader, boolean repairing, QName stopAt)
- throws XMLStreamException {
- Document doc = getDocument(parent);
-
- int event = reader.getEventType();
-
- while (reader.hasNext()) {
- switch (event) {
- case XMLStreamConstants.START_ELEMENT:
- if (startElement(parent, reader, repairing, stopAt) == null) {
- return;
- }
- if (parent instanceof Document && stopAt != null) {
- if (reader.hasNext()) {
- reader.next();
- }
- return;
- }
- break;
- case XMLStreamConstants.END_ELEMENT:
- return;
- case XMLStreamConstants.NAMESPACE:
- break;
- case XMLStreamConstants.ATTRIBUTE:
- break;
- case XMLStreamConstants.CHARACTERS:
- if (parent != null) {
- parent.appendChild(doc.createTextNode(reader.getText()));
- }
-
- break;
- case XMLStreamConstants.COMMENT:
- if (parent != null) {
- parent.appendChild(doc.createComment(reader.getText()));
- }
-
- break;
- case XMLStreamConstants.CDATA:
- parent.appendChild(doc.createCDATASection(reader.getText()));
-
- break;
- case XMLStreamConstants.PROCESSING_INSTRUCTION:
- parent.appendChild(doc.createProcessingInstruction(reader.getPITarget(), reader.getPIData()));
-
- break;
- case XMLStreamConstants.ENTITY_REFERENCE:
- parent.appendChild(doc.createProcessingInstruction(reader.getPITarget(), reader.getPIData()));
-
- break;
- default:
- break;
- }
-
- if (reader.hasNext()) {
- event = reader.next();
- }
- }
- }
-
- private static Document getDocument(Node parent) {
- return (parent instanceof Document) ? (Document) parent : parent.getOwnerDocument();
- }
-
- /**
- * @param parent
- * @param reader
- * @return
- * @throws XMLStreamException
- */
- private static Element startElement(Node parent, XMLStreamReader reader, boolean repairing, QName stopAt)
- throws XMLStreamException {
- Document doc = getDocument(parent);
-
- if (stopAt != null && stopAt.getNamespaceURI().equals(reader.getNamespaceURI())
- && stopAt.getLocalPart().equals(reader.getLocalName())) {
- return null;
- }
-
- Element e = doc.createElementNS(reader.getNamespaceURI(), reader.getLocalName());
-
- if (reader.getPrefix() != null) {
- e.setPrefix(reader.getPrefix());
- }
-
- parent.appendChild(e);
-
- for (int ns = 0; ns < reader.getNamespaceCount(); ns++) {
- String uri = reader.getNamespaceURI(ns);
- String prefix = reader.getNamespacePrefix(ns);
-
- declare(e, uri, prefix);
- }
-
- for (int att = 0; att < reader.getAttributeCount(); att++) {
- String name = reader.getAttributeLocalName(att);
- String prefix = reader.getAttributePrefix(att);
- if (prefix != null && prefix.length() > 0) {
- name = prefix + ":" + name;
- }
-
- Attr attr = doc.createAttributeNS(reader.getAttributeNamespace(att), name);
- attr.setValue(reader.getAttributeValue(att));
- e.setAttributeNode(attr);
- }
-
- reader.next();
-
- readDocElements(e, reader, repairing, stopAt);
-
- if (repairing && !isDeclared(e, reader.getNamespaceURI(), reader.getPrefix())) {
- declare(e, reader.getNamespaceURI(), reader.getPrefix());
- }
-
- return e;
- }
-
- private static void declare(Element node, String uri, String prefix) {
- if (prefix != null && prefix.length() > 0) {
- node.setAttributeNS(XML_NS, "xmlns:" + prefix, uri);
- } else {
- if (uri != null /* && uri.length() > 0 */) {
- node.setAttributeNS(XML_NS, "xmlns", uri);
- }
- }
- }
-
- private static boolean isDeclared(Element e, String namespaceURI, String prefix) {
- Attr att;
- if (prefix != null && prefix.length() > 0) {
- att = e.getAttributeNodeNS(XML_NS, "xmlns:" + prefix);
- } else {
- att = e.getAttributeNode("xmlns");
- }
-
- if (att != null && att.getNodeValue().equals(namespaceURI)) {
- return true;
- }
-
- if (e.getParentNode() instanceof Element) {
- return isDeclared((Element) e.getParentNode(), namespaceURI, prefix);
- }
-
- return false;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/RawByteArrayOutputStream.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/RawByteArrayOutputStream.java
deleted file mode 100644
index 057481041b..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/RawByteArrayOutputStream.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import java.io.ByteArrayOutputStream;
-
-/**
- * Just to allow raw access to the byte[] to avoid a copy
- */
-class RawByteArrayOutputStream extends ByteArrayOutputStream {
- public byte[] getBytes() {
- return buf;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCADataBindingCallback.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCADataBindingCallback.java
deleted file mode 100644
index 47d130383f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCADataBindingCallback.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import org.w3c.dom.Node;
-
-import commonj.sdo.helper.TypeHelper;
-import org.objectweb.celtix.bindings.DataReader;
-import org.objectweb.celtix.bindings.DataWriter;
-import org.objectweb.celtix.bus.bindings.AbstractWSDLOperationDataBindingCallback;
-import org.objectweb.celtix.bus.bindings.WSDLOperationInfo;
-import org.objectweb.celtix.context.ObjectMessageContext;
-
-
-/**
- * @version $Rev$ $Date$
- */
-public class SCADataBindingCallback extends AbstractWSDLOperationDataBindingCallback {
-
- protected boolean hasInOut;
- protected TypeHelper typeHelper;
-
- public SCADataBindingCallback(WSDLOperationInfo op, boolean inout, TypeHelper theTypeHelper) {
- super(op);
- this.hasInOut = inout;
- this.typeHelper = theTypeHelper;
- }
-
- public boolean hasInOut() {
- return hasInOut;
- }
-
- public Mode getMode() {
- return Mode.PARTS;
- }
-
- public Class<?>[] getSupportedFormats() {
- return new Class<?>[]{Node.class};
- }
-
- public TypeHelper getTypeHelper() {
- return typeHelper;
- }
-
- @SuppressWarnings("unchecked")
- public <T> DataWriter<T> createWriter(Class<T> cls) {
- if (cls == Node.class) {
- return (DataWriter<T>) new NodeDataWriter(this);
- }
- return null;
- }
-
- @SuppressWarnings("unchecked")
- public <T> DataReader<T> createReader(Class<T> cls) {
- if (cls == Node.class) {
- return (DataReader<T>) new NodeDataReader(this);
- }
- //REVISIT - need to figure out what to do with Faults
- return null;
- }
-
- public void initObjectContext(ObjectMessageContext octx) {
- //REVISIT - is this even used?
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCAServerDataBindingCallback.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCAServerDataBindingCallback.java
deleted file mode 100644
index db9c624bd4..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/io/SCAServerDataBindingCallback.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix.io;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import commonj.sdo.helper.TypeHelper;
-
-import org.objectweb.celtix.bindings.ServerDataBindingCallback;
-import org.objectweb.celtix.bus.bindings.WSDLOperationInfo;
-import org.objectweb.celtix.context.ObjectMessageContext;
-
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class SCAServerDataBindingCallback extends SCADataBindingCallback
- implements ServerDataBindingCallback {
- Method method;
- Object targetObject;
-
- public SCAServerDataBindingCallback(WSDLOperationInfo op,
- boolean inout,
- Method meth,
- Object target,
- TypeHelper theTypeHelper) {
- super(op, inout, theTypeHelper);
- method = meth;
- targetObject = target;
- }
-
-
- public void invoke(ObjectMessageContext octx) throws InvocationTargetException {
- Object ret;
- try {
- ret = method.invoke(targetObject, octx.getMessageObjects());
- } catch (RuntimeException e) {
- throw e;
- } catch (Exception e) {
- throw new InvocationTargetException(e);
- }
- octx.setReturn(ret);
- }
-
- public void initObjectContext(ObjectMessageContext octx) {
- Object o[] = new Object[method.getParameterTypes().length];
- //REVIST - holders?
- octx.setMessageObjects(o);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index b6a5334903..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.binding.celtix.WebServiceBinding">
-
- <component name="ws.implementationLoader">
- <system:implementation.system class="org.apache.tuscany.binding.celtix.WebServiceBindingLoader" />
- </component>
-
- <component name="ws.componentBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.celtix.CeltixBindingBuilder" />
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/BootstrapTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/BootstrapTestCase.java
deleted file mode 100644
index cba83a7792..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/BootstrapTestCase.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import junit.framework.TestCase;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BootstrapTestCase extends TestCase {
-
- public void testReference() throws Exception {
-// BusServiceImpl busService = new BusServiceImpl();
-// WSDLDefinitionRegistry wsdlRegistry = new WSDLDefinitionRegistryImpl();
-// busService.setWsdlRegistry(wsdlRegistry);
-// busService.init();
-// CeltixReference reference = new CeltixReference("reference",);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixInvokerTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixInvokerTestCase.java
deleted file mode 100644
index 5440fc22ce..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixInvokerTestCase.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.net.URL;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-
-import org.xml.sax.InputSource;
-
-import junit.framework.TestCase;
-import org.apache.tuscany.binding.celtix.io.SCADataBindingCallback;
-import org.easymock.classextension.EasyMock;
-import org.objectweb.celtix.Bus;
-import org.objectweb.celtix.bindings.BindingManager;
-import org.objectweb.celtix.bus.bindings.soap.SOAPBindingFactory;
-import org.objectweb.celtix.bus.bindings.soap.SOAPClientBinding;
-import org.objectweb.celtix.context.ObjectMessageContextImpl;
-import org.objectweb.celtix.ws.addressing.EndpointReferenceType;
-
-/**
- * @version $Rev$ $Date$
- */
-public class CeltixInvokerTestCase extends TestCase {
-
- public void testProcessingInputWithoutInOut() throws Exception {
- String wsdlLocation = "/wsdl/hello_world_doc_lit.wsdl";
- String operationName = "greetMe";
- ObjectMessageContextImpl inputCtx = new ObjectMessageContextImpl();
- CeltixInvoker invoker = createCeltixInvoker(wsdlLocation,
- operationName, inputCtx);
-
- Object[] args = new Object[1];
- args[0] = new String("hello");
- invoker.invokeTarget(args);
-
- // Check the input object after processing is correct
- // Should be no change for input if only IN parameters involved
- Object[] myrtn = (Object[]) inputCtx.getMessageObjects();
-
- assertEquals("hello", myrtn[0]);
- }
-
- public void testProcessingInputWithInOut() throws Exception {
- String wsdlLocation = "/wsdl/hello_world_doc_lit_inout.wsdl";
- String operationName = "greetMe";
- ObjectMessageContextImpl inputCtx = new ObjectMessageContextImpl();
- CeltixInvoker invoker = createCeltixInvoker(wsdlLocation,
- operationName, inputCtx);
-
- Object[] args = new Object[1];
- String inputvalue = new String("hello");
- args[0] = inputvalue;
- Object result = invoker.invokeTarget(args);
-
- // Check the input object after processing is correct
- // input should be wrapped as Holder type if it is INOUT parameter
- Object[] myrtn = (Object[]) inputCtx.getMessageObjects();
-
- //FIXME: this does not work for the wrapped doc/lit case due to a bug in Celtix
- //assertTrue("input is not Holder type", myrtn[0] instanceof Holder);
- }
-
- // NOTE: For convenience this method presumes the soap service name is
- // SOAPService and port name is SoapPort
- private CeltixInvoker createCeltixInvoker(String wsdlLocation,
- String operationName,
- ObjectMessageContextImpl inputCtx)
- throws Exception {
-
- // Make following call to return a mocked SOAPClientBinding:
- // bus.getBindingManager().getBindingFactory(bindingId).createClientBinding(reference)
- SOAPClientBinding clientBinding = EasyMock
- .createMock(SOAPClientBinding.class);
- clientBinding.createObjectContext();
- EasyMock.expectLastCall().andReturn(inputCtx);
- clientBinding.invoke(EasyMock.isA(ObjectMessageContextImpl.class),
- EasyMock.isA(SCADataBindingCallback.class));
- EasyMock.expectLastCall().andReturn(new ObjectMessageContextImpl());
- EasyMock.replay(clientBinding);
-
- SOAPBindingFactory bindingFactory = EasyMock.createNiceMock(SOAPBindingFactory.class);
- bindingFactory.createClientBinding(EasyMock.isA(EndpointReferenceType.class));
- EasyMock.expectLastCall().andReturn(clientBinding);
- EasyMock.replay(bindingFactory);
-
- BindingManager bindingManager = EasyMock.createNiceMock(BindingManager.class);
- String bindingId = "http://schemas.xmlsoap.org/wsdl/soap/";
- bindingManager.getBindingFactory(bindingId);
- EasyMock.expectLastCall().andReturn(bindingFactory);
-
- Bus bus = EasyMock.createNiceMock(Bus.class);
- bus.getBindingManager();
- EasyMock.expectLastCall().andReturn(bindingManager);
- EasyMock.replay(bindingManager);
- EasyMock.replay(bus);
-
- // Create WSDL Definition
- URL url = getClass().getResource(wsdlLocation);
- assertNotNull("Could not find wsdl " + url.toString(), url);
-
- WSDLFactory factory = WSDLFactory.newInstance();
- WSDLReader reader = factory.newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- InputSource input = new InputSource(url.openStream());
- Definition wsdlDef = reader.readWSDL(url.toString(), input);
- QName qName = new QName("http://objectweb.org/hello_world_soap_http", "SOAPService");
- Service wsdlService = wsdlDef.getService(qName);
- Port port = wsdlService.getPort("SoapPort");
-
- return new CeltixInvoker(operationName, bus, port, wsdlService, wsdlDef, null);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixServiceTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixServiceTestCase.java
deleted file mode 100644
index 1a66aa4eb5..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixServiceTestCase.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-import java.net.URL;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-
-import org.xml.sax.InputSource;
-
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.WireService;
-
-import junit.framework.TestCase;
-import org.easymock.classextension.EasyMock;
-import org.objectweb.celtix.Bus;
-import org.objectweb.celtix.bindings.BindingManager;
-import static org.objectweb.celtix.bindings.DataBindingCallback.Mode.PARTS;
-import org.objectweb.celtix.bindings.ServerBindingEndpointCallback;
-import org.objectweb.celtix.bindings.ServerDataBindingCallback;
-import org.objectweb.celtix.bus.bindings.soap.SOAPBindingFactory;
-import org.objectweb.celtix.bus.bindings.soap.SOAPServerBinding;
-import org.objectweb.celtix.context.ObjectMessageContextImpl;
-import org.objectweb.celtix.ws.addressing.EndpointReferenceType;
-
-/**
- * @version $Rev$ $Date$
- */
-public class CeltixServiceTestCase extends TestCase {
-
- public void testGetDataBindingCallback() throws Exception {
- CeltixService celtixService = createCeltixService();
-
- QName operationName = new QName("greetMe");
- ObjectMessageContextImpl ctx = new ObjectMessageContextImpl();
- ctx.setMessageObjects(new String[]{"Celtix"});
- ServerDataBindingCallback callback1 = celtixService.getDataBindingCallback(operationName, ctx, PARTS);
- assertNotNull(callback1);
-
- callback1.invoke(ctx);
- Object rtn = (String) ctx.getReturn();
- assertEquals("Hello Celtix", rtn);
-
- }
-
- private CeltixService createCeltixService() throws Exception {
- //Make following call to return a mocked SOAPClientBinding:
- //bus.getBindingManager().getBindingFactory(bindingId).createClientBinding(reference)
- SOAPServerBinding serverBinding = EasyMock.createMock(SOAPServerBinding.class);
- serverBinding.activate();
- EasyMock.replay(serverBinding);
-
- //ServerBindingEndpointCallback callback = EasyMock.createNiceMock(ServerBindingEndpointCallback.class);
-
- SOAPBindingFactory bindingFactory = EasyMock.createNiceMock(SOAPBindingFactory.class);
- bindingFactory.createServerBinding(EasyMock.isA(EndpointReferenceType.class),
- EasyMock.isA(ServerBindingEndpointCallback.class));
- EasyMock.expectLastCall().andReturn(serverBinding);
- EasyMock.replay(bindingFactory);
-
- BindingManager bindingManager = EasyMock.createNiceMock(BindingManager.class);
- String bindingId = "http://schemas.xmlsoap.org/wsdl/soap/";
- bindingManager.getBindingFactory(bindingId);
- EasyMock.expectLastCall().andReturn(bindingFactory);
-
- Bus bus = EasyMock.createNiceMock(Bus.class);
- bus.getBindingManager();
- EasyMock.expectLastCall().andReturn(bindingManager);
- EasyMock.replay(bindingManager);
- EasyMock.replay(bus);
-
- //Create WSDL Definition
- String wsdlLocation = "/wsdl/hello_world_doc_lit.wsdl";
- URL url = getClass().getResource(wsdlLocation);
- assertNotNull("Could not find wsdl " + url.toString(), url);
-
- WSDLFactory factory = WSDLFactory.newInstance();
- WSDLReader reader = factory.newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- InputSource input = new InputSource(url.openStream());
- Definition wsdlDef = reader.readWSDL(url.toString(), input);
- Service wsdlService = wsdlDef.getService(new QName("http://objectweb.org/hello_world_soap_http",
- "SOAPService"));
- Port port = wsdlService.getPort("SoapPort");
-
- WebServiceBinding wsBinding = new WebServiceBinding(wsdlDef, port, "uri", "portURI", wsdlService);
-
- //Create mocked InboundWire, for ServiceExtension.getInterface()
- InboundWire inboundWire = EasyMock.createNiceMock(InboundWire.class);
- JavaServiceContract contract = new JavaServiceContract(Greeter.class);
- EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
- EasyMock.replay(inboundWire);
-
- //Create mocked WireService, for ServiceExtension.getServiceInstance()
- WireService wireService = EasyMock.createNiceMock(WireService.class);
- wireService.createProxy(EasyMock.isA(InboundWire.class));
- EasyMock.expectLastCall().andReturn(new GreeterImpl()).anyTimes();
- EasyMock.replay(wireService);
-
- CeltixService celtixService = new CeltixService("name", Greeter.class, null, wireService, wsBinding, bus, null);
- //Not sure how InboundWire is set to CeltixService, is the following way correct?
- celtixService.setInboundWire(inboundWire);
- celtixService.start();
-
- return celtixService;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/Greeter.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/Greeter.java
deleted file mode 100644
index 56de472774..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/Greeter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-public interface Greeter {
- java.lang.String sayHi();
-
- java.lang.String greetMe(
- java.lang.String requestType
- );
-
- void greetMeOneWay(
- java.lang.String requestType
- );
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/GreeterImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/GreeterImpl.java
deleted file mode 100644
index 38237ad81a..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/GreeterImpl.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.celtix;
-
-public class GreeterImpl implements Greeter {
- public java.lang.String sayHi() {
- return "sayHi";
- }
-
- public java.lang.String greetMe(String requestType) {
- return "Hello " + requestType;
- }
-
- public void greetMeOneWay(String requestType) {
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world.wsdl b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world.wsdl
deleted file mode 100644
index e8767988f3..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world.wsdl
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<wsdl:definitions name="HelloWorld" targetNamespace="http://objectweb.org/hello_world_soap_http"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://objectweb.org/hello_world_soap_http"
- xmlns:x1="http://objectweb.org/hello_world_soap_http/types"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <schema targetNamespace="http://objectweb.org/hello_world_soap_http/types"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:tns="http://objectweb.org/hello_world_soap_http/types"
- elementFormDefault="qualified">
- <simpleType name="MyStringType">
- <restriction base="string">
- <maxLength value="30" />
- </restriction>
- </simpleType>
-
- <element name="sayHi">
- <complexType/>
- </element>
- <element name="sayHiResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMe">
- <complexType>
- <sequence>
- <element name="requestType" type="tns:MyStringType"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMeResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMeOneWay">
- <complexType>
- <sequence>
- <element name="requestType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="pingMe">
- <complexType/>
- </element>
- <element name="pingMeResponse">
- <complexType/>
- </element>
- <element name="faultDetail">
- <complexType>
- <sequence>
- <element name="minor" type="short"/>
- <element name="major" type="short"/>
- </sequence>
- </complexType>
- </element>
- </schema>
- </wsdl:types>
- <wsdl:message name="sayHiRequest">
- <wsdl:part element="x1:sayHi" name="in"/>
- </wsdl:message>
- <wsdl:message name="sayHiResponse">
- <wsdl:part element="x1:sayHiResponse" name="out"/>
- </wsdl:message>
- <wsdl:message name="greetMeRequest">
- <wsdl:part element="x1:greetMe" name="in"/>
- </wsdl:message>
- <wsdl:message name="greetMeResponse">
- <wsdl:part element="x1:greetMeResponse" name="out"/>
- </wsdl:message>
- <wsdl:message name="greetMeOneWayRequest">
- <wsdl:part element="x1:greetMeOneWay" name="in"/>
- </wsdl:message>
- <wsdl:message name="pingMeRequest">
- <wsdl:part name="in" element="x1:pingMe"/>
- </wsdl:message>
- <wsdl:message name="pingMeResponse">
- <wsdl:part name="out" element="x1:pingMeResponse"/>
- </wsdl:message>
- <wsdl:message name="pingMeFault">
- <wsdl:part name="faultDetail" element="x1:faultDetail"/>
- </wsdl:message>
-
- <wsdl:portType name="Greeter">
- <wsdl:operation name="sayHi">
- <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
- <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="greetMe">
- <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
- <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeOneWay">
- <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
- </wsdl:operation>
-
- <wsdl:operation name="pingMe">
- <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
- <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
- <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-
- <wsdl:operation name="sayHi">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="sayHiRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="sayHiResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
-
- <wsdl:operation name="greetMe">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="greetMeRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="greetMeResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeOneWay">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="greetMeOneWayRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- </wsdl:operation>
-
- <wsdl:operation name="pingMe">
- <soap:operation style="document"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- <wsdl:fault name="pingMeFault">
- <soap:fault name="pingMeFault" use="literal"/>
- </wsdl:fault>
- </wsdl:operation>
-
- </wsdl:binding>
- <wsdl:serviceDefinition name="SOAPService">
- <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
- <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
- </wsdl:port>
- </wsdl:serviceDefinition>
-</wsdl:definitions>
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world_doc_lit.wsdl b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world_doc_lit.wsdl
deleted file mode 100644
index db625cb129..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world_doc_lit.wsdl
+++ /dev/null
@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<wsdl:definitions name="HelloWorld" targetNamespace="http://objectweb.org/hello_world_soap_http"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://objectweb.org/hello_world_soap_http"
- xmlns:x1="http://objectweb.org/hello_world_soap_http/types"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <schema targetNamespace="http://objectweb.org/hello_world_soap_http/types"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:tns="http://objectweb.org/hello_world_soap_http/types"
- elementFormDefault="qualified">
- <simpleType name="MyStringType">
- <restriction base="string">
- <maxLength value="30" />
- </restriction>
- </simpleType>
-
- <element name="sayHi">
- <complexType/>
- </element>
- <element name="sayHiResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMe">
- <complexType>
- <sequence>
- <element name="requestType" type="tns:MyStringType"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMeResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMeOneWay">
- <complexType>
- <sequence>
- <element name="requestType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="pingMe">
- <complexType/>
- </element>
- <element name="pingMeResponse">
- <complexType/>
- </element>
- <element name="faultDetail">
- <complexType>
- <sequence>
- <element name="minor" type="short"/>
- <element name="major" type="short"/>
- </sequence>
- </complexType>
- </element>
- </schema>
- </wsdl:types>
- <wsdl:message name="sayHiRequest">
- <wsdl:part element="x1:sayHi" name="in"/>
- </wsdl:message>
- <wsdl:message name="sayHiResponse">
- <wsdl:part element="x1:sayHiResponse" name="out"/>
- </wsdl:message>
- <wsdl:message name="greetMeRequest">
- <wsdl:part element="x1:greetMe" name="in"/>
- </wsdl:message>
- <wsdl:message name="greetMeResponse">
- <wsdl:part element="x1:greetMeResponse" name="out"/>
- </wsdl:message>
- <wsdl:message name="greetMeOneWayRequest">
- <wsdl:part element="x1:greetMeOneWay" name="in"/>
- </wsdl:message>
-
- <wsdl:portType name="Greeter">
- <wsdl:operation name="sayHi">
- <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
- <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="greetMe">
- <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
- <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeOneWay">
- <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
- </wsdl:operation>
-
- </wsdl:portType>
- <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-
- <wsdl:operation name="sayHi">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="sayHiRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="sayHiResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
-
- <wsdl:operation name="greetMe">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="greetMeRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="greetMeResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeOneWay">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="greetMeOneWayRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- </wsdl:operation>
-
- </wsdl:binding>
- <wsdl:service name="SOAPService">
- <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
- <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world_doc_lit_inout.wsdl b/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world_doc_lit_inout.wsdl
deleted file mode 100644
index 90634709ba..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/src/test/resources/wsdl/hello_world_doc_lit_inout.wsdl
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<wsdl:definitions name="HelloWorld" targetNamespace="http://objectweb.org/hello_world_soap_http"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://objectweb.org/hello_world_soap_http"
- xmlns:x1="http://objectweb.org/hello_world_soap_http/types"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <schema targetNamespace="http://objectweb.org/hello_world_soap_http/types"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:tns="http://objectweb.org/hello_world_soap_http/types"
- elementFormDefault="qualified">
- <simpleType name="MyStringType">
- <restriction base="string">
- <maxLength value="30" />
- </restriction>
- </simpleType>
-
- <element name="sayHi">
- <complexType/>
- </element>
- <element name="sayHiResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMe">
- <complexType>
- <sequence>
- <element name="requestType" type="tns:MyStringType"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMeResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="greetMeOneWay">
- <complexType>
- <sequence>
- <element name="requestType" type="string"/>
- </sequence>
- </complexType>
- </element>
- <element name="pingMe">
- <complexType/>
- </element>
- <element name="pingMeResponse">
- <complexType/>
- </element>
- <element name="faultDetail">
- <complexType>
- <sequence>
- <element name="minor" type="short"/>
- <element name="major" type="short"/>
- </sequence>
- </complexType>
- </element>
- </schema>
- </wsdl:types>
- <wsdl:message name="sayHiRequest">
- <wsdl:part element="x1:sayHi" name="in"/>
- </wsdl:message>
- <wsdl:message name="sayHiResponse">
- <wsdl:part element="x1:sayHiResponse" name="out"/>
- </wsdl:message>
- <wsdl:message name="greetMeRequest">
- <wsdl:part element="x1:greetMe" name="in"/>
- </wsdl:message>
- <wsdl:message name="greetMeResponse">
- <wsdl:part element="x1:greetMe" name="out"/>
- </wsdl:message>
- <wsdl:message name="greetMeOneWayRequest">
- <wsdl:part element="x1:greetMeOneWay" name="in"/>
- </wsdl:message>
- <wsdl:message name="pingMeRequest">
- <wsdl:part name="in" element="x1:pingMe"/>
- </wsdl:message>
- <wsdl:message name="pingMeResponse">
- <wsdl:part name="out" element="x1:pingMeResponse"/>
- </wsdl:message>
- <wsdl:message name="pingMeFault">
- <wsdl:part name="faultDetail" element="x1:faultDetail"/>
- </wsdl:message>
-
- <wsdl:portType name="Greeter">
- <wsdl:operation name="sayHi">
- <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
- <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="greetMe">
- <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
- <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeOneWay">
- <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
- </wsdl:operation>
-
- <wsdl:operation name="pingMe">
- <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
- <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
- <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-
- <wsdl:operation name="sayHi">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="sayHiRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="sayHiResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
-
- <wsdl:operation name="greetMe">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="greetMeRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="greetMeResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
-
- <wsdl:operation name="greetMeOneWay">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="greetMeOneWayRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- </wsdl:operation>
-
- <wsdl:operation name="pingMe">
- <soap:operation style="document"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- <wsdl:fault name="pingMeFault">
- <soap:fault name="pingMeFault" use="literal"/>
- </wsdl:fault>
- </wsdl:operation>
-
- </wsdl:binding>
- <wsdl:service name="SOAPService">
- <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
- <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.celtix/tuscany-checkstyle.xml b/branches/sca-java-M2/sca/services/bindings/binding.celtix/tuscany-checkstyle.xml
deleted file mode 100644
index df8a9483d5..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.celtix/tuscany-checkstyle.xml
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!DOCTYPE module PUBLIC
- "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
- "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
-
-<!--
-Checks to make sure the code meets the Tuscany coding guidelines
-http://java.sun.com/docs/codeconv/index.html
-
-It also enforces aa bunch of other "BestPractices like method
-lengths, if/try depths, etc...
-
--->
-
-<module name="Checker">
- <property name="severity"
- value="${checkstyle.severity}"
- default="warning"/>
-
- <!-- Checks whether files end with a new line. -->
- <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
- <!--
- <module name="NewlineAtEndOfFile"/>
- -->
-
- <!-- Checks that property files contain the same keys. -->
- <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
- <module name="Translation"/>
-
- <!--<module name="StrictDuplicateCode"/>-->
-
- <module name="TreeWalker">
-
- <!-- Checks for Javadoc comments. -->
- <!-- See http://checkstyle.sf.net/config_javadoc.html -->
- <!--
- <module name="PackageHtml"/>
- <module name="JavadocMethod"/>
- <module name="JavadocType"/>
- <module name="JavadocVariable"/>
- <module name="JavadocStyle"/>
- -->
-
-
- <!-- Checks for Naming Conventions. -->
- <!-- See http://checkstyle.sf.net/config_naming.html -->
- <module name="AbstractClassName">
- <property name="format"
- value="^Abstract.*$|^.*Factory$|^.*Bus$|^.*ConfigurationRepository$|^.*Base$|^Exception$|^.*Builder$"/>
- </module>
- <module name="ConstantName"/>
- <module name="LocalFinalVariableName"/>
- <module name="LocalVariableName"/>
- <module name="MemberName"/>
- <module name="MethodName"/>
- <module name="PackageName"/>
- <module name="ParameterName"/>
- <module name="StaticVariableName"/>
- <module name="TypeName"/>
-
- <!-- Header checks -->
- <!-- <module name="Header"/> -->
- <!-- <module name="RegexpHeader"/> -->
-
-
- <!-- Checks for imports -->
- <!-- See http://checkstyle.sf.net/config_import.html -->
- <module name="AvoidStarImport">
- <property name="excludes"
- value="java.io,java.util,java.net,java.nio,java.nio.channels,java.lang.reflect,org.w3c.dom,org.xml.sax,java.awt,javax.swing,junit.framework"/>
- </module>
- <module name="IllegalImport"/>
- <!-- defaults to sun.* packages -->
- <module name="RedundantImport"/>
- <module name="UnusedImports"/>
- <module name="ImportOrder">
- <property name="groups" value="java,javax,org.w3c,org.xml,w3c"/>
- <property name="ordered" value="true"/>
- </module>
- <!--
- <module name="ImportControl">
- <property name="file" value="etc/import-control.xml"/>
- </module>
- -->
-
-
- <!-- Checks for Size Violations. -->
- <!-- See http://checkstyle.sf.net/config_sizes.html -->
- <module name="AnonInnerLength">
- <property name="max" value="40"/>
- </module>
- <module name="ExecutableStatementCount">
- <property name="max" value="50"/>
- </module>
- <module name="FileLength"/>
- <module name="LineLength">
- <property name="max" value="115"/>
- </module>
- <module name="MethodLength">
- <property name="max" value="150"/>
- <property name="countEmpty" value="false"/>
- </module>
- <module name="ParameterNumber">
- <property name="max" value="7"/>
- </module>
-
- <!-- Checks for whitespace -->
- <!-- See http://checkstyle.sf.net/config_whitespace.html -->
- <module name="EmptyForIteratorPad"/>
- <module name="EmptyForInitializerPad"/>
- <module name="MethodParamPad"/>
- <module name="NoWhitespaceAfter">
- <property name="tokens" value="ARRAY_INIT,BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
- </module>
- <module name="NoWhitespaceBefore"/>
- <module name="OperatorWrap"/>
- <module name="ParenPad"/>
- <module name="TypecastParenPad"/>
- <module name="TabCharacter"/>
- <module name="WhitespaceAfter">
- <property name="tokens" value="COMMA, SEMI"/>
- </module>
- <module name="WhitespaceAround">
- <property name="tokens"
- value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN,TYPE_EXTENSION_AND"/>
- </module>
-
-
- <!-- Modifier Checks -->
- <!-- See http://checkstyle.sf.net/config_modifiers.html -->
- <module name="ModifierOrder"/>
- <module name="RedundantModifier"/>
-
-
- <!-- Checks for blocks. You know, those {}'s -->
- <!-- See http://checkstyle.sf.net/config_blocks.html -->
- <module name="AvoidNestedBlocks">
- <property name="allowInSwitchCase" value="true"/>
- </module>
- <module name="EmptyBlock">
- <property name="option" value="text"/>
- </module>
- <module name="LeftCurly"/>
- <module name="NeedBraces"/>
- <module name="RightCurly"/>
-
-
- <!-- Checks for common coding problems -->
- <!-- See http://checkstyle.sf.net/config_coding.html -->
- <!--<module name="ArrayTrailingComma"/>-->
- <!--<module name="AvoidInlineConditionals"/>-->
- <module name="CovariantEquals"/>
- <module name="DoubleCheckedLocking"/>
- <module name="EmptyStatement"/>
- <module name="EqualsHashCode"/>
- <!--<module name="FinalLocalVariable"/>-->
- <module name="HiddenField">
- <property name="ignoreConstructorParameter" value="true"/>
- <property name="ignoreSetter" value="true"/>
- <property name="ignoreAbstractMethods" value="true"/>
- </module>
- <module name="IllegalInstantiation"/>
- <!--<module name="IllegalToken"/>-->
- <!--<module name="IllegalTokenText"/>-->
- <!--<module name="InnerAssignment"/>-->
- <!--<module name="MagicNumber"/>-->
- <module name="MissingSwitchDefault"/>
- <module name="ModifiedControlVariable"/>
- <module name="SimplifyBooleanExpression"/>
- <module name="SimplifyBooleanReturn"/>
- <module name="StringLiteralEquality"/>
- <module name="NestedIfDepth">
- <property name="max" value="3"/>
- </module>
- <module name="NestedTryDepth">
- <property name="max" value="3"/>
- </module>
- <module name="SuperClone"/>
- <module name="SuperFinalize"/>
- <!--<module name="IllegalCatch"/>-->
- <module name="IllegalThrows">
- <property name="illegalClassNames" value="java.lang.Error,java.lang.RuntimeException"/>
- </module>
- <!--<module name="RedundantThrows"/>-->
- <module name="PackageDeclaration"/>
- <module name="JUnitTestCase"/>
- <module name="ReturnCount">
- <property name="max" value="6"/>
- </module>
-
- <module name="IllegalType">
- <property name="format" value="^xxx$"/>
- </module>
- <module name="DeclarationOrder"/>
- <!--<module name="ParameterAssignment"/>-->
- <module name="ExplicitInitialization"/>
- <module name="DefaultComesLast"/>
- <!--<module name="MissingCtor"/>-->
- <module name="FallThrough"/>
- <!--<module name="MultipleStringLiterals"/>-->
- <module name="MultipleVariableDeclarations"/>
- <!--<module name="RequireThis"/>-->
- <module name="UnnecessaryParentheses"/>
-
-
- <!-- Checks for class design -->
- <!-- See http://checkstyle.sf.net/config_design.html -->
- <!--<module name="DesignForExtension"/>-->
- <module name="FinalClass"/>
- <module name="HideUtilityClassConstructor"/>
- <module name="InterfaceIsType"/>
- <module name="MutableException"/>
- <module name="ThrowsCount">
- <property name="max" value="5"/>
- </module>
- <module name="VisibilityModifier">
- <property name="protectedAllowed" value="true"/>
- <property name="packageAllowed" value="true"/>
- </module>
-
-
- <!-- Metrics checks. -->
- <!-- See http://checkstyle.sf.net/config_metrics.html -->
- <module name="BooleanExpressionComplexity">
- <property name="max" value="6"/>
- </module>
- <!--<module name="ClassDataAbstractionCoupling"/>-->
- <!--<module name="ClassFanOutComplexity"/>-->
- <!--<module name="CyclomaticComplexity"/>-->
- <!--<module name="NPathComplexity"/>-->
- <module name="JavaNCSS">
- <property name="methodMaximum" value="75"/>
- </module>
-
-
- <!-- Miscellaneous other checks. -->
- <!-- See http://checkstyle.sf.net/config_misc.html -->
- <!--
- <module name="ArrayTypeStyle"/>
- <module name="FinalParameters"/>
- -->
- <!--
- <module name="GenericIllegalRegexp">
- <property name="format" value="\s+$"/>
- <property name="message" value="Line has trailing spaces."/>
- </module>
- -->
- <module name="TodoComment">
- <property name="format" value="WARNING"/>
- </module>
-
- <module name="UpperEll"/>
-
- <!--Assert statement may have side effects:-->
- <module name="DescendantToken">
- <property name="tokens" value="LITERAL_ASSERT"/>
- <property name="limitedTokens"
- value="ASSIGN,DEC,INC,POST_DEC,POST_INC,PLUS_ASSIGN,MINUS_ASSIGN,STAR_ASSIGN,DIV_ASSIGN,MOD_ASSIGN,BSR_ASSIGN,SR_ASSIGN,SL_ASSIGN,BAND_ASSIGN,BXOR_ASSIGN,BOR_ASSIGN"/>
- <property name="maximumNumber" value="0"/>
- </module>
-
- <!--<module name="UncommentedMain"/>-->
- <module name="TrailingComment"/>
- <module name="Indentation">
- <property name="caseIndent" value="0"/>
- </module>
- <!--<module name="RequiredRegexp">-->
- </module>
-
-</module>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/.ruleset b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/.ruleset
deleted file mode 100644
index ac8671859d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/LICENSE.txt b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/LICENSE.txt
deleted file mode 100644
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/NOTICE.txt b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/pom.xml b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/pom.xml
deleted file mode 100644
index 4fede9927d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <parent>
- <groupId>org.apache.tuscany.sca.services.bindings</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>binding-jsonrpc</artifactId>
- <name>Apache Tuscany Binding for JSON-RPC</name>
- <description>Implementation of the SCA JSON-RPC Binding</description>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>com.metaparadigm</groupId>
- <artifactId>json-rpc</artifactId>
- <version>1.0</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>tomcat</groupId>
- <artifactId>servlet-api</artifactId>
- <version>5.0.18</version>
- <scope>provided</scope>
- </dependency>
-
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBinding.java b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBinding.java
deleted file mode 100644
index 101bfde6c2..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBinding.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.jsonrpc;
-
-import org.apache.tuscany.spi.model.Binding;
-
-/**
- * Represents a binding to an RMI service.
- *
- * @version $Rev$ $Date$
- */
-public class JSONRPCBinding extends Binding {
- private String uri;
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBindingBuilder.java b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBindingBuilder.java
deleted file mode 100644
index 85654f1104..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBindingBuilder.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.jsonrpc;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.host.ServletHost;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-
-/**
- * Builds a Service for JSON-RPC binding.
- *
- * @version $Rev$ $Date$
- */
-public class JSONRPCBindingBuilder extends BindingBuilderExtension<JSONRPCBinding> {
-
- private ServletHost servletHost;
-
- @Autowire()
- public void setServletHost(ServletHost servletHost) {
- this.servletHost = servletHost;
- }
-
- protected Class<JSONRPCBinding> getBindingType() {
- return JSONRPCBinding.class;
- }
-
- @SuppressWarnings("unchecked")
- public Service build(CompositeComponent parent,
- BoundServiceDefinition<JSONRPCBinding> serviceDefinition,
- DeploymentContext deploymentContext) {
- Class<?> interfaze = serviceDefinition.getServiceContract().getInterfaceClass();
-
- return new JSONRPCService(serviceDefinition.getName(), interfaze, parent, wireService, servletHost);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBindingLoader.java b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBindingLoader.java
deleted file mode 100644
index 9f2a35d912..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCBindingLoader.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.jsonrpc;
-
-import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * Loader for handling <binding.jsonrpc> elements.
- *
- * @version $Rev$ $Date$
- */
-@Scope("MODULE")
-public class JSONRPCBindingLoader extends LoaderExtension<JSONRPCBinding> {
- public static final QName BINDING_JSON = new QName(XML_NAMESPACE_1_0, "binding.jsonrpc");
-
- public JSONRPCBindingLoader(@Autowire
- LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return BINDING_JSON;
- }
-
- public JSONRPCBinding load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext) throws XMLStreamException,
- LoaderException {
-
- return new JSONRPCBinding();
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCEntryPointServlet.java b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCEntryPointServlet.java
deleted file mode 100644
index c7afc4742e..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCEntryPointServlet.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.jsonrpc;
-
-import java.io.IOException;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-import com.metaparadigm.jsonrpc.JSONRPCBridge;
-import com.metaparadigm.jsonrpc.JSONRPCServlet;
-
-/**
- *
- *
- */
-public class JSONRPCEntryPointServlet extends JSONRPCServlet {
- private static final long serialVersionUID = 1L;
-
- String serviceName;
-
- Object serviceInstance;
-
- public JSONRPCEntryPointServlet(String serviceName, Object serviceInstance) {
- this.serviceName = serviceName;
- this.serviceInstance = serviceInstance;
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.metaparadigm.jsonrpc.JSONRPCServlet#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
- */
- @Override
- public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ClassCastException {
-
- /*
- * Create a new bridge for every request to aviod all the problems with JSON-RPC-Java storing the bridge in the session
- */
- HttpSession session = request.getSession();
- try {
-
- JSONRPCBridge jsonrpcBridge = new JSONRPCBridge();
- jsonrpcBridge.registerObject(serviceName, serviceInstance);
- session.setAttribute("JSONRPCBridge", jsonrpcBridge);
-
- super.service(request, response);
-
- } finally {
- session.removeAttribute("JSONRPCBridge");
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCService.java b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCService.java
deleted file mode 100644
index 58d1d087ac..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/JSONRPCService.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.jsonrpc;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.host.ServletHost;
-import org.apache.tuscany.spi.wire.WireService;
-import org.osoa.sca.annotations.Destroy;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JSONRPCService extends ServiceExtension {
- private ServletHost servletHost;
-
- public JSONRPCService(String theName, Class<?> interfaze, CompositeComponent parent, WireService wireService, ServletHost servletHost) {
-
- super(theName, interfaze, parent, wireService);
-
- this.servletHost = servletHost;
- }
-
- public void start() {
- super.start();
-
- JSONRPCEntryPointServlet servlet = new JSONRPCEntryPointServlet(getName(), this.getServiceInstance());
- servletHost.registerMapping("/" + getName(), servlet);
- servletHost.registerMapping("/SCA/scripts", new ScriptGetterServlet());
- }
-
- @Destroy
- public void stop() {
- servletHost.unregisterMapping("/" + getName());
- servletHost.unregisterMapping("/SCA/scripts");
-
- super.stop();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/ScriptGetterServlet.java b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/ScriptGetterServlet.java
deleted file mode 100644
index 8f8a96df20..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/ScriptGetterServlet.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.jsonrpc;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-public class ScriptGetterServlet extends HttpServlet {
-
- private static final long serialVersionUID = 1L;
-
- // private static final String SCA_INIT_JS = "SCA = new JSONRpcClient(\"services/HelloWorldService\");";
-
- public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
- URL url = getClass().getResource("jsonrpc.js");
- InputStream is = url.openStream();
- writeToStream(response, is);
-
- // writeToStream(response, new ByteArrayInputStream(SCA_INIT_JS.getBytes()));
- }
-
- private void writeToStream(HttpServletResponse response, InputStream is) throws IOException {
- ServletOutputStream os = response.getOutputStream();
- int i;
- while ((i = is.read()) != -1) { // NOPMD
- os.write(i);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/binding.jsonrpc.scdl b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/binding.jsonrpc.scdl
deleted file mode 100644
index 4081d437c3..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/binding.jsonrpc.scdl
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- Default system configuration for the launcher environment.
-
- $Rev$ $Date$
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.binding.jsonrpc">
-
- <!-- dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <groupId>com.metaparadigm</groupId>
- <name>json-rpc</name>
- <version>1.0</version>
- </dependency -->
-
- <component name="binding.jsonrpc.bindingLoader">
- <system:implementation.system class="org.apache.tuscany.binding.jsonrpc.JSONRPCBindingLoader"/>
- </component>
-
- <component name="binding.jsonrpc.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.jsonrpc.JSONRPCBindingBuilder"/>
- </component>
-</composite>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index aec9bb440b..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- Default system configuration for the launcher environment.
-
- $Rev$ $Date$
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.binding.jsonrpc">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>com.metaparadigm</group>
- <name>json-rpc</name>
- <version>1.0</version>
- </dependency>
-
- <component name="binding.jsonrpc.bindingLoader">
- <system:implementation.system class="org.apache.tuscany.binding.jsonrpc.JSONRPCBindingLoader"/>
- </component>
-
- <component name="binding.jsonrpc.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.jsonrpc.JSONRPCBindingBuilder"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/jsonrpc_extension.scdl b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/jsonrpc_extension.scdl
deleted file mode 100644
index 4081d437c3..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/META-INF/sca/jsonrpc_extension.scdl
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- Default system configuration for the launcher environment.
-
- $Rev$ $Date$
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.binding.jsonrpc">
-
- <!-- dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <groupId>com.metaparadigm</groupId>
- <name>json-rpc</name>
- <version>1.0</version>
- </dependency -->
-
- <component name="binding.jsonrpc.bindingLoader">
- <system:implementation.system class="org.apache.tuscany.binding.jsonrpc.JSONRPCBindingLoader"/>
- </component>
-
- <component name="binding.jsonrpc.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.jsonrpc.JSONRPCBindingBuilder"/>
- </component>
-</composite>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/org/apache/tuscany/binding/jsonrpc/jsonrpc.js b/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/org/apache/tuscany/binding/jsonrpc/jsonrpc.js
deleted file mode 100644
index 2b9efbb55c..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.jsonrpc/src/main/resources/org/apache/tuscany/binding/jsonrpc/jsonrpc.js
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * JSON-RPC JavaScript client
- *
- * $Id: jsonrpc.js,v 1.36.2.3 2006/03/08 15:09:37 mclark Exp $
- *
- * Copyright (c) 2003-2004 Jan-Klaas Kollhof
- * Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd
- *
- * This code is based on Jan-Klaas' JavaScript o lait library (jsolait).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-
-/* escape a character */
-
-escapeJSONChar =
-function escapeJSONChar(c)
-{
- if(c == "\"" || c == "\\") return "\\" + c;
- else if (c == "\b") return "\\b";
- else if (c == "\f") return "\\f";
- else if (c == "\n") return "\\n";
- else if (c == "\r") return "\\r";
- else if (c == "\t") return "\\t";
- var hex = c.charCodeAt(0).toString(16);
- if(hex.length == 1) return "\\u000" + hex;
- else if(hex.length == 2) return "\\u00" + hex;
- else if(hex.length == 3) return "\\u0" + hex;
- else return "\\u" + hex;
-};
-
-
-/* encode a string into JSON format */
-
-escapeJSONString =
-function escapeJSONString(s)
-{
- /* The following should suffice but Safari's regex is b0rken
- (doesn't support callback substitutions)
- return "\"" + s.replace(/([^\u0020-\u007f]|[\\\"])/g,
- escapeJSONChar) + "\"";
- */
-
- /* Rather inefficient way to do it */
- var parts = s.split("");
- for(var i=0; i < parts.length; i++) {
- var c =parts[i];
- if(c == '"' ||
- c == '\\' ||
- c.charCodeAt(0) < 32 ||
- c.charCodeAt(0) >= 128)
- parts[i] = escapeJSONChar(parts[i]);
- }
- return "\"" + parts.join("") + "\"";
-};
-
-
-/* Marshall objects to JSON format */
-
-toJSON = function toJSON(o)
-{
- if(o == null) {
- return "null";
- } else if(o.constructor == String) {
- return escapeJSONString(o);
- } else if(o.constructor == Number) {
- return o.toString();
- } else if(o.constructor == Boolean) {
- return o.toString();
- } else if(o.constructor == Date) {
- return '{javaClass: "java.util.Date", time: ' + o.valueOf() +'}';
- } else if(o.constructor == Array) {
- var v = [];
- for(var i = 0; i < o.length; i++) v.push(toJSON(o[i]));
- return "[" + v.join(", ") + "]";
- } else {
- var v = [];
- for(attr in o) {
- if(o[attr] == null) v.push("\"" + attr + "\": null");
- else if(typeof o[attr] == "function"); /* skip */
- else v.push(escapeJSONString(attr) + ": " + toJSON(o[attr]));
- }
- return "{" + v.join(", ") + "}";
- }
-};
-
-
-/* JSONRpcClient constructor */
-
-JSONRpcClient =
-function JSONRpcClient_ctor(serverURL, user, pass, objectID)
-{
- this.serverURL = serverURL;
- this.user = user;
- this.pass = pass;
- this.objectID = objectID;
-
- /* Add standard methods */
- if(this.objectID) {
- this._addMethods(["listMethods"]);
- var req = this._makeRequest("listMethods", []);
- } else {
- this._addMethods(["system.listMethods"]);
- var req = this._makeRequest("system.listMethods", []);
- }
- var m = this._sendRequest(req);
- this._addMethods(m);
-};
-
-
-/* JSONRpcCLient.Exception */
-
-JSONRpcClient.Exception =
-function JSONRpcClient_Exception_ctor(code, message, javaStack)
-{
- this.code = code;
- var name;
- if(javaStack) {
- this.javaStack = javaStack;
- var m = javaStack.match(/^([^:]*)/);
- if(m) name = m[0];
- }
- if(name) this.name = name;
- else this.name = "JSONRpcClientException";
- this.message = message;
-};
-
-JSONRpcClient.Exception.CODE_REMOTE_EXCEPTION = 490;
-JSONRpcClient.Exception.CODE_ERR_CLIENT = 550;
-JSONRpcClient.Exception.CODE_ERR_PARSE = 590;
-JSONRpcClient.Exception.CODE_ERR_NOMETHOD = 591;
-JSONRpcClient.Exception.CODE_ERR_UNMARSHALL = 592;
-JSONRpcClient.Exception.CODE_ERR_MARSHALL = 593;
-
-JSONRpcClient.Exception.prototype = new Error();
-
-JSONRpcClient.Exception.prototype.toString =
-function JSONRpcClient_Exception_toString(code, msg)
-{
- return this.name + ": " + this.message;
-};
-
-
-/* Default top level exception handler */
-
-JSONRpcClient.default_ex_handler =
-function JSONRpcClient_default_ex_handler(e) { alert(e); };
-
-
-/* Client settable variables */
-
-JSONRpcClient.toplevel_ex_handler = JSONRpcClient.default_ex_handler;
-JSONRpcClient.profile_async = false;
-JSONRpcClient.max_req_active = 1;
-JSONRpcClient.requestId = 1;
-
-
-/* JSONRpcClient implementation */
-
-JSONRpcClient.prototype._createMethod =
-function JSONRpcClient_createMethod(methodName)
-{
- var fn=function()
- {
- var args = [];
- var callback = null;
- for(var i=0;i<arguments.length;i++) args.push(arguments[i]);
- if(typeof args[0] == "function") callback = args.shift();
- var req = fn.client._makeRequest.call(fn.client, fn.methodName,
- args, callback);
- if(callback == null) {
- return fn.client._sendRequest.call(fn.client, req);
- } else {
- JSONRpcClient.async_requests.push(req);
- JSONRpcClient.kick_async();
- return req.requestId;
- }
- };
- fn.client = this;
- fn.methodName = methodName;
- return fn;
-};
-
-JSONRpcClient.prototype._addMethods =
-function JSONRpcClient_addMethods(methodNames)
-{
- for(var i=0; i<methodNames.length; i++) {
- var obj = this;
- var names = methodNames[i].split(".");
- for(var n=0; n<names.length-1; n++) {
- var name = names[n];
- if(obj[name]) {
- obj = obj[name];
- } else {
- obj[name] = new Object();
- obj = obj[name];
- }
- }
- var name = names[names.length-1];
- if(!obj[name]) {
- var method = this._createMethod(methodNames[i]);
- obj[name] = method;
- }
- }
-};
-
-JSONRpcClient._getCharsetFromHeaders =
-function JSONRpcClient_getCharsetFromHeaders(http)
-{
- try {
- var contentType = http.getResponseHeader("Content-type");
- var parts = contentType.split(/\s*;\s*/);
- for(var i =0; i < parts.length; i++) {
- if(parts[i].substring(0, 8) == "charset=")
- return parts[i].substring(8, parts[i].length);
- }
- } catch (e) {}
- return "UTF-8"; /* default */
-};
-
-/* Async queue globals */
-JSONRpcClient.async_requests = [];
-JSONRpcClient.async_inflight = {};
-JSONRpcClient.async_responses = [];
-JSONRpcClient.async_timeout = null;
-JSONRpcClient.num_req_active = 0;
-
-JSONRpcClient._async_handler =
-function JSONRpcClient_async_handler()
-{
- JSONRpcClient.async_timeout = null;
-
- while(JSONRpcClient.async_responses.length > 0) {
- var res = JSONRpcClient.async_responses.shift();
- if(res.canceled) continue;
- if(res.profile) res.profile.dispatch = new Date();
- try {
- res.cb(res.result, res.ex, res.profile);
- } catch(e) {
- JSONRpcClient.toplevel_ex_handler(e);
- }
- }
-
- while(JSONRpcClient.async_requests.length > 0 &&
- JSONRpcClient.num_req_active < JSONRpcClient.max_req_active) {
- var req = JSONRpcClient.async_requests.shift();
- if(req.canceled) continue;
- req.client._sendRequest.call(req.client, req);
- }
-};
-
-JSONRpcClient.kick_async =
-function JSONRpcClient_kick_async()
-{
- if(JSONRpcClient.async_timeout == null)
- JSONRpcClient.async_timeout =
- setTimeout(JSONRpcClient._async_handler, 0);
-};
-
-JSONRpcClient.cancelRequest =
-function JSONRpcClient_cancelRequest(requestId)
-{
- /* If it is in flight then mark it as canceled in the inflight map
- and the XMLHttpRequest callback will discard the reply. */
- if(JSONRpcClient.async_inflight[requestId]) {
- JSONRpcClient.async_inflight[requestId].canceled = true;
- return true;
- }
-
- /* If its not in flight yet then we can just mark it as canceled in
- the the request queue and it will get discarded before being sent. */
- for(var i in JSONRpcClient.async_requests) {
- if(JSONRpcClient.async_requests[i].requestId == requestId) {
- JSONRpcClient.async_requests[i].canceled = true;
- return true;
- }
- }
-
- /* It may have returned from the network and be waiting for its callback
- to be dispatched, so mark it as canceled in the response queue
- and the response will get discarded before calling the callback. */
- for(var i in JSONRpcClient.async_responses) {
- if(JSONRpcClient.async_responses[i].requestId == requestId) {
- JSONRpcClient.async_responses[i].canceled = true;
- return true;
- }
- }
-
- return false;
-};
-
-JSONRpcClient.prototype._makeRequest =
-function JSONRpcClient_makeRequest(methodName, args, cb)
-{
- var req = {};
- req.client = this;
- req.requestId = JSONRpcClient.requestId++;
-
- var obj = {};
- obj.id = req.requestId;
- if (this.objectID)
- obj.method = ".obj#" + this.objectID + "." + methodName;
- else
- obj.method = methodName;
- obj.params = args;
-
- if (cb) req.cb = cb;
- if (JSONRpcClient.profile_async)
- req.profile = { "submit": new Date() };
- req.data = toJSON(obj);
-
- return req;
-};
-
-JSONRpcClient.prototype._sendRequest =
-function JSONRpcClient_sendRequest(req)
-{
- if(req.profile) req.profile.start = new Date();
-
- /* Get free http object from the pool */
- var http = JSONRpcClient.poolGetHTTPRequest();
- JSONRpcClient.num_req_active++;
-
- /* Send the request */
- if (typeof(this.user) == "undefined") {
- http.open("POST", this.serverURL, (req.cb != null));
- } else {
- http.open("POST", this.serverURL, (req.cb != null), this.user, this.pass);
- }
-
- /* setRequestHeader is missing in Opera 8 Beta */
- try { http.setRequestHeader("Content-type", "text/plain"); } catch(e) {}
-
- /* Construct call back if we have one */
- if(req.cb) {
- var self = this;
- http.onreadystatechange = function() {
- if(http.readyState == 4) {
- http.onreadystatechange = function () {};
- var res = { "cb": req.cb, "result": null, "ex": null};
- if (req.profile) {
- res.profile = req.profile;
- res.profile.end = new Date();
- }
- try { res.result = self._handleResponse(http); }
- catch(e) { res.ex = e; }
- if(!JSONRpcClient.async_inflight[req.requestId].canceled)
- JSONRpcClient.async_responses.push(res);
- delete JSONRpcClient.async_inflight[req.requestId];
- JSONRpcClient.kick_async();
- }
- };
- } else {
- http.onreadystatechange = function() {};
- }
-
- JSONRpcClient.async_inflight[req.requestId] = req;
-
- try {
- http.send(req.data);
- } catch(e) {
- JSONRpcClient.poolReturnHTTPRequest(http);
- JSONRpcClient.num_req_active--;
- throw new JSONRpcClient.Exception
- (JSONRpcClient.Exception.CODE_ERR_CLIENT, "Connection failed");
- }
-
- if(!req.cb) return this._handleResponse(http);
-};
-
-JSONRpcClient.prototype._handleResponse =
-function JSONRpcClient_handleResponse(http)
-{
- /* Get the charset */
- if(!this.charset) {
- this.charset = JSONRpcClient._getCharsetFromHeaders(http);
- }
-
- /* Get request results */
- var status, statusText, data;
- try {
- status = http.status;
- statusText = http.statusText;
- data = http.responseText;
- } catch(e) {
- JSONRpcClient.poolReturnHTTPRequest(http);
- JSONRpcClient.num_req_active--;
- JSONRpcClient.kick_async();
- throw new JSONRpcClient.Exception
- (JSONRpcClient.Exception.CODE_ERR_CLIENT, "Connection failed");
- }
-
- /* Return http object to the pool; */
- JSONRpcClient.poolReturnHTTPRequest(http);
- JSONRpcClient.num_req_active--;
-
- /* Unmarshall the response */
- if(status != 200) {
- throw new JSONRpcClient.Exception(status, statusText);
- }
- var obj;
- try {
- eval("obj = " + data);
- } catch(e) {
- throw new JSONRpcClient.Exception(550, "error parsing result");
- }
- if(obj.error)
- throw new JSONRpcClient.Exception(obj.error.code, obj.error.msg,
- obj.error.trace);
- var res = obj.result;
-
- /* Handle CallableProxy */
- if(res && res.objectID && res.JSONRPCType == "CallableReference")
- return new JSONRpcClient(this.serverURL, this.user,
- this.pass, res.objectID);
-
- return res;
-};
-
-
-/* XMLHttpRequest wrapper code */
-
-/* XMLHttpRequest pool globals */
-JSONRpcClient.http_spare = [];
-JSONRpcClient.http_max_spare = 8;
-
-JSONRpcClient.poolGetHTTPRequest =
-function JSONRpcClient_pool_getHTTPRequest()
-{
- if(JSONRpcClient.http_spare.length > 0) {
- return JSONRpcClient.http_spare.pop();
- }
- return JSONRpcClient.getHTTPRequest();
-};
-
-JSONRpcClient.poolReturnHTTPRequest =
-function JSONRpcClient_poolReturnHTTPRequest(http)
-{
- if(JSONRpcClient.http_spare.length >= JSONRpcClient.http_max_spare)
- delete http;
- else
- JSONRpcClient.http_spare.push(http);
-};
-
-JSONRpcClient.msxmlNames = [ "MSXML2.XMLHTTP.5.0",
- "MSXML2.XMLHTTP.4.0",
- "MSXML2.XMLHTTP.3.0",
- "MSXML2.XMLHTTP",
- "Microsoft.XMLHTTP" ];
-
-JSONRpcClient.getHTTPRequest =
-function JSONRpcClient_getHTTPRequest()
-{
- /* Mozilla XMLHttpRequest */
- try {
- JSONRpcClient.httpObjectName = "XMLHttpRequest";
- return new XMLHttpRequest();
- } catch(e) {}
-
- /* Microsoft MSXML ActiveX */
- for (var i=0;i < JSONRpcClient.msxmlNames.length; i++) {
- try {
- JSONRpcClient.httpObjectName = JSONRpcClient.msxmlNames[i];
- return new ActiveXObject(JSONRpcClient.msxmlNames[i]);
- } catch (e) {}
- }
-
- /* None found */
- JSONRpcClient.httpObjectName = null;
- throw new JSONRpcClient.Exception(0, "Can't create XMLHttpRequest object");
-};
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/.ruleset b/branches/sca-java-M2/sca/services/bindings/binding.rmi/.ruleset
deleted file mode 100644
index 3886f07f2d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/LICENSE.txt b/branches/sca-java-M2/sca/services/bindings/binding.rmi/LICENSE.txt
deleted file mode 100755
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/NOTICE.txt b/branches/sca-java-M2/sca/services/bindings/binding.rmi/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/pom.xml b/branches/sca-java-M2/sca/services/bindings/binding.rmi/pom.xml
deleted file mode 100755
index 31ef8047d4..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/pom.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <parent>
- <groupId>org.apache.tuscany.sca.services.bindings</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>rmi</artifactId>
- <name>Apache Tuscany Binding for Java RMI</name>
- <description>Implementation of the SCA RMI Binding</description>
-
- <dependencies>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- <version>2.1_3</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/NoRemoteMethodException.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/NoRemoteMethodException.java
deleted file mode 100644
index 45404f087e..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/NoRemoteMethodException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NoRemoteMethodException extends RMIRuntimeException {
- public NoRemoteMethodException() {
- }
-
- public NoRemoteMethodException(String message) {
- super(message);
- }
-
- public NoRemoteMethodException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public NoRemoteMethodException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/NoRemoteServiceException.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/NoRemoteServiceException.java
deleted file mode 100644
index af2d2fd582..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/NoRemoteServiceException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NoRemoteServiceException extends RMIRuntimeException {
- public NoRemoteServiceException() {
- }
-
- public NoRemoteServiceException(String message) {
- super(message);
- }
-
- public NoRemoteServiceException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public NoRemoteServiceException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBinding.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBinding.java
deleted file mode 100644
index bc8c69851e..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBinding.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import org.apache.tuscany.spi.model.Binding;
-
-/**
- * Represents a binding to an RMI service.
- *
- * @version $Rev$ $Date$
- */
-public class RMIBinding extends Binding {
- private String host;
-
- private String port;
-
- private String serviceName;
-
- public String getHost() {
- return host;
- }
-
- public void setHost(String host) {
- this.host = host;
- }
-
- public String getPort() {
- return port;
- }
-
- public void setPort(String port) {
- this.port = port;
- }
-
- public String getServiceName() {
- return serviceName;
- }
-
- public void setServiceName(String serviceName) {
- this.serviceName = serviceName;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBindingBuilder.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBindingBuilder.java
deleted file mode 100644
index 1e2eb9633a..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBindingBuilder.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import java.rmi.Remote;
-
-import org.apache.tuscany.host.rmi.RMIHost;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-import org.osoa.sca.annotations.Constructor;
-
-/**
- * Builds a Service or Reference for an RMI binding.
- *
- * @version $Rev$ $Date$
- */
-
-public class RMIBindingBuilder extends BindingBuilderExtension<RMIBinding> {
-
- private RMIHost rmiHost;
-
- @Constructor({"rmiHost"})
- public RMIBindingBuilder(@Autowire RMIHost rHost) {
- this.rmiHost = rHost;
- }
-
- protected Class<RMIBinding> getBindingType() {
- return RMIBinding.class;
- }
-
- @SuppressWarnings({"unchecked"})
- public Service build(CompositeComponent parent,
- BoundServiceDefinition<RMIBinding> boundServiceDefinition,
- DeploymentContext deploymentContext) {
-
- Class intf = boundServiceDefinition.getServiceContract().getInterfaceClass();
-
- return new RMIService<Remote>(boundServiceDefinition.getName(), parent, wireService, rmiHost,
- boundServiceDefinition.getBinding().getHost(), boundServiceDefinition.getBinding().getPort(),
- boundServiceDefinition.getBinding().getServiceName(), intf);
- }
-
- @SuppressWarnings({"unchecked"})
- public Reference build(CompositeComponent parent,
- BoundReferenceDefinition<RMIBinding> boundReferenceDefinition,
- DeploymentContext deploymentContext) {
- String name = boundReferenceDefinition.getName();
- String host = boundReferenceDefinition.getBinding().getHost();
- String port = boundReferenceDefinition.getBinding().getPort();
- String svcName = boundReferenceDefinition.getBinding().getServiceName();
- // Class<?> interfaze = boundReferenceDefinition.getServiceContract().getInterfaceClass();
-
- return new RMIReference(name, parent, wireService, rmiHost, host, port, svcName,
- boundReferenceDefinition.getServiceContract().getInterfaceClass());
-
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBindingLoader.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBindingLoader.java
deleted file mode 100755
index bd9b165b6d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIBindingLoader.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.osoa.sca.annotations.Scope;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-
-/**
- * Loader for handling <binding.rmi> elements.
- *
- * @version $Rev$ $Date$
- */
-@Scope("MODULE")
-public class RMIBindingLoader extends LoaderExtension<RMIBinding> {
- public static final QName BINDING_RMI = new QName(
- "http://incubator.apache.org/tuscany/xmlns/binding/rmi/1.0-incubator-M2", "binding.rmi");
-
- public RMIBindingLoader(@Autowire LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return BINDING_RMI;
- }
-
- public RMIBinding load(CompositeComponent parent,
- XMLStreamReader reader,
- DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
- String host = reader.getAttributeValue(null, "host");
- String port = reader.getAttributeValue(null, "port");
- String svcName = reader.getAttributeValue(null, "serviceName");
- LoaderUtil.skipToEndElement(reader);
- RMIBinding binding = new RMIBinding();
- binding.setHost(host);
- binding.setPort(port);
- binding.setServiceName(svcName);
- return binding;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIInvoker.java
deleted file mode 100644
index afd1992d20..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIInvoker.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.rmi.Remote;
-
-import org.apache.tuscany.host.rmi.RMIHost;
-import org.apache.tuscany.host.rmi.RMIHostException;
-import org.apache.tuscany.spi.extension.TargetInvokerExtension;
-
-/**
- * Invoke an RMI reference.
- *
- * @version $Rev$ $Date$
- */
-public class RMIInvoker extends TargetInvokerExtension {
- private Method remoteMethod;
- private String host;
- private String port;
- private String svcName;
- private RMIHost rmiHost;
- private Remote proxy;
-
- public RMIInvoker(RMIHost rmiHost, String host, String port, String svcName, Method remoteMethod) {
- // assert remoteMethod.isAccessible();
- this.remoteMethod = remoteMethod;
- this.host = host;
- this.port = port;
- this.svcName = svcName;
- this.rmiHost = rmiHost;
- }
-
- public Object invokeTarget(Object payload) throws InvocationTargetException {
- try {
- if (proxy == null) {
- proxy = rmiHost.findService(host, port, svcName);
- // proxy = Naming.lookup(serviceURI);
- }
- return remoteMethod.invoke(proxy, (Object[]) payload);
- } catch (RMIHostException e) {
- // the method we are passed must be accessible
- throw new AssertionError(e);
- } catch (IllegalAccessException e) {
- // the method we are passed must be accessible
- throw new AssertionError(e);
- }
-
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIReference.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIReference.java
deleted file mode 100644
index 5e810892d9..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIReference.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import static org.apache.tuscany.spi.idl.java.JavaIDLUtils.findMethod;
-
-import java.lang.reflect.Method;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ReferenceExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-
-import org.apache.tuscany.host.rmi.RMIHost;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RMIReference<T> extends ReferenceExtension {
- private final String host;
-
- private final String port;
-
- private final String svcName;
-
- private RMIHost rmiHost;
-
- public RMIReference(String name,
- CompositeComponent parent,
- WireService wireService,
- RMIHost rmiHost,
- String host,
- String port,
- String svcName,
- Class<T> service) {
- super(name, service, parent, wireService);
- this.host = host;
- this.port = port;
- this.svcName = svcName;
- this.rmiHost = rmiHost;
- }
-
- public TargetInvoker createTargetInvoker(ServiceContract contract, Operation operation) {
- try {
- /*Remote proxy = getProxy();
- Method remoteMethod = proxy.getClass().getMethod(operation.getName(),
- (Class[]) operation.getParameterTypes());
- return new RMIInvoker(proxy, remoteMethod);
- */
- Method method = findMethod(operation, contract.getInterfaceClass().getMethods());
- Method remoteMethod =
- getInterface().getMethod(operation.getName(), (Class[]) method.getParameterTypes());
- return new RMIInvoker(rmiHost, host, port, svcName, remoteMethod);
- } catch (NoSuchMethodException e) {
- throw new NoRemoteMethodException(operation.toString(), e);
- }
- }
-
- /*protected Remote getProxy() {
- try {
- // todo do we need to cache this result?
- return Naming.lookup(uri);
- } catch (NotBoundException e) {
- throw new NoRemoteServiceException(uri);
- } catch (MalformedURLException e) {
- throw new NoRemoteServiceException(uri);
- } catch (RemoteException e) {
- throw new NoRemoteServiceException(uri);
- }
- }*/
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIRuntimeException.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIRuntimeException.java
deleted file mode 100644
index c36dec4531..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIRuntimeException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class RMIRuntimeException extends TuscanyRuntimeException {
- protected RMIRuntimeException() {
- }
-
- protected RMIRuntimeException(String message) {
- super(message);
- }
-
- protected RMIRuntimeException(String message, Throwable cause) {
- super(message, cause);
- }
-
- protected RMIRuntimeException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIService.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIService.java
deleted file mode 100644
index 0de833801f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIService.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import java.lang.reflect.Method;
-import java.rmi.Remote;
-import java.rmi.server.UnicastRemoteObject;
-
-import net.sf.cglib.asm.ClassWriter;
-import net.sf.cglib.asm.Constants;
-import net.sf.cglib.asm.Type;
-import net.sf.cglib.proxy.Enhancer;
-
-import org.apache.tuscany.host.rmi.RMIHost;
-import org.apache.tuscany.host.rmi.RMIHostException;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.wire.WireService;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RMIService<T extends Remote> extends ServiceExtension {
-
- public static final String URI_PREFIX = "//localhost";
- public static final String SLASH = "/";
- public static final String COLON = ":";
- //private final String host;
- private final String port;
- private final String serviceName;
- private RMIHost rmiHost;
-
- // need this member to morph the service interface to extend from Remote if it does not
- // the base class's member variable interfaze is to be maintained to enable the connection
- // of the service outbound to the component's inbound wire which requires that the service
- // and the component match in their service contracts.
- private Class serviceInterface;
-
- public RMIService(String name,
- CompositeComponent parent,
- WireService wireService,
- RMIHost rHost,
- String host,
- String port,
- String svcName,
- Class<T> service) {
- super(name, service, parent, wireService);
-
- this.serviceInterface = service;
- this.rmiHost = rHost;
- //this.host = host;
- this.port = port;
- this.serviceName = svcName;
- }
-
- public void start() {
- super.start();
- Remote rmiProxy = createRmiService();
-
- try {
- // startRMIRegistry();
- rmiHost.registerService(serviceName,
- getPort(port),
- rmiProxy);
- // bindRmiService(uri,rmiProxy);
- } catch (RMIHostException e) {
- throw new NoRemoteServiceException(e);
- }
- }
-
- public void stop() {
- try {
- rmiHost.unregisterService(serviceName, getPort(port));
- } catch (RMIHostException e) {
- throw new NoRemoteServiceException(e.getMessage());
- }
- super.stop();
- }
-
- protected Remote createRmiService() {
- Enhancer enhancer = new Enhancer();
- enhancer.setSuperclass(UnicastRemoteObject.class);
- enhancer.setCallback(new RemoteMethodHandler(getHandler(), interfaze));
-
- if (!Remote.class.isAssignableFrom(serviceInterface)) {
- RMIServiceClassLoader classloader =
- new RMIServiceClassLoader(getClass().getClassLoader());
- final byte[] byteCode = generateRemoteInterface(serviceInterface);
- serviceInterface = classloader.defineClass(byteCode);
- enhancer.setClassLoader(classloader);
- }
- enhancer.setInterfaces(new Class[]{serviceInterface});
- return (Remote) enhancer.create();
- }
-
- protected int getPort(String port) {
- int portNumber = RMIHost.RMI_DEFAULT_PORT;
- if (port != null && port.length() > 0) {
- portNumber = Integer.decode(port);
- }
-
- return portNumber;
- }
-
- // if the interface of the component whose services must be exposed as RMI Service, does not
- // implement java.rmi.Remote, then generate such an interface. This method will stop with
- // just generating the bytecode. Defining the class from the byte code must tbe the responsibility
- // of the caller of this method, since it requires a classloader to be created to define and load
- // this interface.
- protected byte[] generateRemoteInterface(Class serviceInterface) {
- String interfazeName = serviceInterface.getCanonicalName();
- ClassWriter cw = new ClassWriter(false);
-
- String simpleName = serviceInterface.getSimpleName();
- cw.visit(Constants.V1_5, Constants.ACC_PUBLIC + Constants.ACC_ABSTRACT + Constants.ACC_INTERFACE,
- interfazeName.replace('.', '/'), "java/lang/Object", new String[]{"java/rmi/Remote"}, simpleName + ".java");
-
- StringBuffer argsAndReturn = null;
- Method[] methods = serviceInterface.getMethods();
- for (Method method : methods) {
- argsAndReturn = new StringBuffer("(");
- Class[] paramTypes = method.getParameterTypes();
- Class returnType = method.getReturnType();
-
- for (Class paramType : paramTypes) {
- argsAndReturn.append(Type.getType(paramType));
- }
- argsAndReturn.append(")");
- argsAndReturn.append(Type.getType(returnType));
-
- cw.visitMethod(Constants.ACC_PUBLIC + Constants.ACC_ABSTRACT, method.getName(), argsAndReturn.toString(),
- new String[]{"java/rmi/RemoteException"}, null);
- }
- cw.visitEnd();
- return cw.toByteArray();
- }
-
- private class RMIServiceClassLoader extends ClassLoader {
- public RMIServiceClassLoader(ClassLoader parent) {
- super(parent);
- }
- public Class defineClass(byte[] byteArray) {
- return defineClass(null, byteArray, 0, byteArray.length);
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RemoteMethodHandler.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RemoteMethodHandler.java
deleted file mode 100644
index b27c87b510..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RemoteMethodHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import java.lang.reflect.Method;
-
-import org.apache.tuscany.spi.wire.WireInvocationHandler;
-
-import net.sf.cglib.proxy.MethodInterceptor;
-import net.sf.cglib.proxy.MethodProxy;
-
-public class RemoteMethodHandler implements MethodInterceptor {
- public static final String FINALIZE_METHOD = "finalize";
-
- private WireInvocationHandler wireHandler;
-
- private Class compSvcIntf;
-
- public RemoteMethodHandler(WireInvocationHandler handler, Class intf) {
- this.wireHandler = handler;
- compSvcIntf = intf;
- }
-
- public Object intercept(Object object, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {
- // since incoming method signatures have 'remotemethod invocation' it will not match with the
- // wired component's method signatures. Hence need to pull in the corresponding method from the
- // component's service contract interface to make this invocation.
- return wireHandler.invoke(compSvcIntf.getMethod(method.getName(),
- (Class[]) method.getParameterTypes()),
- args);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/host/RMIHostImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/host/RMIHostImpl.java
deleted file mode 100644
index 9355cf642e..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/host/RMIHostImpl.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi.host;
-
-import java.rmi.AlreadyBoundException;
-import java.rmi.NotBoundException;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.rmi.registry.LocateRegistry;
-import java.rmi.registry.Registry;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.tuscany.host.rmi.RMIHost;
-import org.apache.tuscany.host.rmi.RMIHostException;
-import org.apache.tuscany.host.rmi.RMIHostRuntimeException;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * This class provides an implementation for the RMI Host SPIs
- */
-@Scope("MODULE")
-public class RMIHostImpl implements RMIHost {
-
- // map of RMI registries started and running
- private Map<String, Registry> rmiRegistries;
-
- public RMIHostImpl() {
- rmiRegistries = new ConcurrentHashMap<String, Registry>();
- /*
- * if (System.getSecurityManager() == null) { System.setSecurityManager(new RMISecurityManager()); }
- */
- }
-
- @Init(eager = true)
- public void init() {
- }
-
- public void registerService(String serviceName, int port, Remote serviceObject) throws RMIHostException,
- RMIHostRuntimeException {
- Registry registry;
- try {
- registry = rmiRegistries.get(Integer.toString(port));
- if (registry == null) {
- registry = LocateRegistry.createRegistry(port);
- rmiRegistries.put(Integer.toString(port),
- registry);
- }
- registry.bind(serviceName,
- serviceObject);
- } catch (AlreadyBoundException e) {
- throw new RMIHostException(e.getMessage());
- } catch (RemoteException e) {
- RMIHostRuntimeException rmiExec = new RMIHostRuntimeException(e.getMessage());
- rmiExec.setStackTrace(e.getStackTrace());
- throw rmiExec;
- }
-
- }
-
- public void registerService(String serviceName, Remote serviceObject) throws RMIHostException,
- RMIHostRuntimeException {
- registerService(serviceName,
- RMI_DEFAULT_PORT,
- serviceObject);
- }
-
- public void unregisterService(String serviceName, int port) throws RMIHostException,
- RMIHostRuntimeException {
- Registry registry;
-
- try {
- registry = rmiRegistries.get(Integer.toString(port));
- if (registry == null) {
- registry = LocateRegistry.createRegistry(port);
- rmiRegistries.put(Integer.toString(port),
- registry);
- }
- registry.unbind(serviceName);
- } catch (RemoteException e) {
- RMIHostRuntimeException rmiExec = new RMIHostRuntimeException(e.getMessage());
- rmiExec.setStackTrace(e.getStackTrace());
- throw rmiExec;
- } catch (NotBoundException e) {
- throw new RMIHostException(e.getMessage());
- }
- }
-
- public void unregisterService(String serviceName) throws RMIHostException,
- RMIHostRuntimeException {
- unregisterService(serviceName,
- RMI_DEFAULT_PORT);
-
- }
-
- public Remote findService(String host, String port, String svcName) throws RMIHostException,
- RMIHostRuntimeException {
- Registry registry;
- Remote remoteService = null;
- host = (host == null || host.length() <= 0) ? "localhost" : host;
- int portNumber = (port == null || port.length() <= 0) ? RMI_DEFAULT_PORT : Integer
- .decode(port);
-
- try {
- registry = LocateRegistry.getRegistry(host,
- portNumber);
-
- if (registry != null) {
- remoteService = registry.lookup(svcName);
- }
- } catch (RemoteException e) {
- RMIHostRuntimeException rmiExec = new RMIHostRuntimeException(e.getMessage());
- rmiExec.setStackTrace(e.getStackTrace());
- throw rmiExec;
- } catch (NotBoundException e) {
- throw new RMIHostException(e.getMessage());
- }
- return remoteService;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 61d6523472..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<!--
- Default system configuration for the launcher environment.
-
- $Rev$ $Date$
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- xmlns:tuscany="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2"
- name="org.apache.tuscany.binding.rmi">
-
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.bindings</group>
- <name>rmi</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.kernel</group>
- <name>tuscany-api</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <component name="binding.rmi.bindingLoader">
- <system:implementation.system class="org.apache.tuscany.binding.rmi.RMIBindingLoader"/>
- </component>
-
- <component name="binding.rmi.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.rmi.RMIBindingBuilder"/>
- </component>
-
- <!-- RMI Host service -->
- <component name="rmiHost">
- <system:implementation.system class="org.apache.tuscany.binding.rmi.host.RMIHostImpl"/>
- </component>
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/resources/META-INF/sca/rmi_extension.scdl b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/resources/META-INF/sca/rmi_extension.scdl
deleted file mode 100644
index 9417a1d5ad..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/main/resources/META-INF/sca/rmi_extension.scdl
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<!--
- Default system configuration for the launcher environment.
-
- $Rev$ $Date$
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- xmlns:tuscany="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2"
- name="org.apache.tuscany.binding.rmi">
-
- <component name="binding.rmi.bindingLoader">
- <system:implementation.system class="org.apache.tuscany.binding.rmi.RMIBindingLoader"/>
- </component>
-
- <component name="binding.rmi.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.rmi.RMIBindingBuilder"/>
- </component>
-
- <!-- RMI Host service -->
- <component name="rmiHost">
- <system:implementation.system class="org.apache.tuscany.binding.rmi.host.RMIHostImpl"/>
- </component>
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldImpl.java
deleted file mode 100644
index ef17df1e9d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package helloworld;
-
-import org.osoa.sca.annotations.Service;
-
-/**
- * This class implements the HelloWorld service.
- */
-@Service(HelloWorldService.class)
-public class HelloWorldImpl implements HelloWorldService {
-
- public String sayHello(String name) {
- return "Hello from the RMI Service to - " + name;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldRmiImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldRmiImpl.java
deleted file mode 100644
index a63d8d162c..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldRmiImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package helloworld;
-
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Service;
-
-/**
- * This class implements the HelloWorld service.
- */
-@Service(HelloWorldRmiService.class)
-public class HelloWorldRmiImpl implements HelloWorldRmiService {
- @Reference
- private HelloWorldService extService;
-
- public HelloWorldService getExtService() {
- return extService;
- }
-
- @Reference
- public void setExtService(HelloWorldService extService) {
- this.extService = extService;
- }
-
- public String sayRmiHello(String name) {
- return extService.sayHello(name) + " thro the RMI Reference";
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldRmiService.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldRmiService.java
deleted file mode 100644
index b6b99f45e3..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldRmiService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package helloworld;
-
-/**
- * This is the business interface of the HelloWorld greetings service.
- */
-public interface HelloWorldRmiService {
-
- String sayRmiHello(String name);
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldService.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldService.java
deleted file mode 100644
index 25f2b1da31..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/helloworld/HelloWorldService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package helloworld;
-
-/**
- * This is the business interface of the HelloWorld greetings service.
- */
-public interface HelloWorldService {
-
- String sayHello(String name);
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/BindingTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/BindingTestCase.java
deleted file mode 100644
index 7ebee2af66..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/BindingTestCase.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import helloworld.HelloWorldRmiService;
-
-import org.apache.tuscany.test.SCATestCase;
-import org.osoa.sca.CompositeContext;
-import org.osoa.sca.CurrentCompositeContext;
-
-// TODO: renamed to XXX as it doesn't work for me
-public class BindingTestCase extends SCATestCase {
- private HelloWorldRmiService helloWorldRmiService;
-
- public void testRmiService() {
- System.out.println(helloWorldRmiService.sayRmiHello("Tuscany World!"));
- assertEquals("Hello from the RMI Service to - Tuscany World! thro the RMI Reference",
- helloWorldRmiService.sayRmiHello("Tuscany World!"));
- }
-
- protected void setUp() throws Exception {
- addExtension("rmi.binding",
- getClass().getClassLoader().getResource("META-INF/sca/rmi_extension.scdl"));
- setApplicationSCDL(getClass().getClassLoader().getResource("META-INF/sca/default.scdl"));
-
- super.setUp();
-
- CompositeContext context = CurrentCompositeContext.getContext();
- helloWorldRmiService = context.locateService(HelloWorldRmiService.class,
- "HelloWorldRmiServiceComponent");
- }
-
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/NoRemoteMethodExceptionTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/NoRemoteMethodExceptionTestCase.java
deleted file mode 100644
index cb4911a0a5..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/NoRemoteMethodExceptionTestCase.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import junit.framework.TestCase;
-
-public class NoRemoteMethodExceptionTestCase extends TestCase {
-
- public void testNoArgs() {
- assertNotNull(new NoRemoteMethodException());
- }
-
- public void testMsgArg() {
- NoRemoteMethodException e = new NoRemoteMethodException("foo");
- assertEquals("foo", e.getMessage());
- }
-
- public void test2Args() {
- Exception cause = new Exception();
- NoRemoteMethodException e = new NoRemoteMethodException("foo", cause);
- assertEquals("foo", e.getMessage());
- assertEquals(cause, e.getCause());
- }
-
- public void testCauseArgs() {
- Exception cause = new Exception();
- NoRemoteMethodException e = new NoRemoteMethodException(cause);
- assertEquals(cause, e.getCause());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/NoRemoteServiceExceptionTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/NoRemoteServiceExceptionTestCase.java
deleted file mode 100644
index a5da001ad9..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/NoRemoteServiceExceptionTestCase.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import junit.framework.TestCase;
-
-public class NoRemoteServiceExceptionTestCase extends TestCase {
-
- public void testNoArgs() {
- assertNotNull(new NoRemoteServiceException());
- }
-
- public void testMsgArg() {
- NoRemoteServiceException e = new NoRemoteServiceException("foo");
- assertEquals("foo", e.getMessage());
- }
-
- public void test2Args() {
- Exception cause = new Exception();
- NoRemoteServiceException e = new NoRemoteServiceException("foo", cause);
- assertEquals("foo", e.getMessage());
- assertEquals(cause, e.getCause());
- }
-
- public void testCauseArgs() {
- Exception cause = new Exception();
- NoRemoteServiceException e = new NoRemoteServiceException(cause);
- assertEquals(cause, e.getCause());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingBuilderTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingBuilderTestCase.java
deleted file mode 100644
index b74be6d78b..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingBuilderTestCase.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.ServiceContract;
-
-public class RMIBindingBuilderTestCase extends TestCase {
-
- public void testGetBindingType() {
- assertEquals(RMIBinding.class, new RMIBindingBuilder(null).getBindingType());
- }
-
- @SuppressWarnings("unchecked")
- public void testBuildService() {
- RMIBindingBuilder builder = new RMIBindingBuilder(null);
- BoundReferenceDefinition<RMIBinding> def = createMock(BoundReferenceDefinition.class);
- expect(def.getName()).andReturn("petra");
- RMIBinding binding = new RMIBinding();
- expect(def.getBinding()).andReturn(binding );
- expect(def.getBinding()).andReturn(binding );
- expect(def.getBinding()).andReturn(binding );
- ServiceContract sc = createMock(ServiceContract.class);
- expect(def.getServiceContract()).andReturn(sc);
- replay(def);
- Object ref = builder.build(null, def, null);
- assertTrue(ref instanceof RMIReference);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingLoaderTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingLoaderTestCase.java
deleted file mode 100644
index 160ca19b8a..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingLoaderTestCase.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.easymock.classextension.EasyMock.verify;
-
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-
-public class RMIBindingLoaderTestCase extends TestCase {
- private CompositeComponent parent;
-
- private XMLStreamReader reader;
-
- private DeploymentContext deploymentContext;
-
- private LoaderRegistry registry;
-
- private RMIBindingLoader loader;
-
- public void testLoad() throws LoaderException, XMLStreamException {
- expect(reader.getAttributeValue(null, "host")).andReturn("host");
- expect(reader.getAttributeValue(null, "port")).andReturn("0");
- expect(reader.getAttributeValue(null, "serviceName")).andReturn("servicename");
- expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
-
- replay(reader);
- replay(deploymentContext);
-
- RMIBindingLoader mockLoader = new RMIBindingLoader(registry);
- mockLoader.load(parent, reader, deploymentContext);
- verify(reader);
- verify(deploymentContext);
- }
-
- public void testGetXMLType() throws LoaderException {
- assertEquals(RMIBindingLoader.BINDING_RMI, loader.getXMLType());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- registry = createMock(LoaderRegistry.class);
- loader = new RMIBindingLoader(registry);
-
- parent = createMock(CompositeComponent.class);
- reader = createMock(XMLStreamReader.class);
- deploymentContext = createMock(DeploymentContext.class);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingTestCase.java
deleted file mode 100644
index 6dbb81437f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIBindingTestCase.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import junit.framework.TestCase;
-
-public class RMIBindingTestCase extends TestCase {
-
- public void testHost() {
- RMIBinding binding = new RMIBinding();
- binding.setHost("foo");
- assertEquals("foo", binding.getHost());
- }
-
- public void testPort() {
- RMIBinding binding = new RMIBinding();
- binding.setPort("foo");
- assertEquals("foo", binding.getPort());
- }
-
- public void testServiceName() {
- RMIBinding binding = new RMIBinding();
- binding.setServiceName("foo");
- assertEquals("foo", binding.getServiceName());
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIInvokerTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIInvokerTestCase.java
deleted file mode 100644
index 72c0acacc4..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIInvokerTestCase.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.rmi.Remote;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.host.rmi.RMIHost;
-import org.apache.tuscany.host.rmi.RMIHostException;
-import org.apache.tuscany.host.rmi.RMIHostRuntimeException;
-
-public class RMIInvokerTestCase extends TestCase {
-
- public void testInvokeTarget() throws InvocationTargetException, RMIHostRuntimeException, RMIHostException, IllegalArgumentException,
- IllegalAccessException, SecurityException, NoSuchMethodException {
- Method method = Object.class.getDeclaredMethod("toString", new Class[] {});
- RMIHost host = createMock(RMIHost.class);
- expect(host.findService(null, null, null)).andReturn(new Remote() {
- });
- replay(host);
- RMIInvoker invoker = new RMIInvoker(host, null, null, null, method);
- assertNotNull(invoker.invokeTarget(new Object[] {}));
- }
-
-// TODO: these don't seem to work
-// public void testInvokeTargetRMIHostException() throws InvocationTargetException, RMIHostRuntimeException, RMIHostException,
-// IllegalArgumentException, IllegalAccessException, SecurityException, NoSuchMethodException {
-// Method method = foo.class.getDeclaredMethod("bang", new Class[] {});
-// RMIHost host = createMock(RMIHost.class);
-// expect(host.findService(null, null, null)).andReturn(new foo());
-// replay(host);
-// try {
-// new RMIInvoker(host, null, null, null, method).invokeTarget(new Object[] {});
-// fail();
-// } catch (InvocationTargetException e) {
-// // expected
-// }
-// }
-//
-// public void testInvokeTargetIllegalAccessException() throws InvocationTargetException, RMIHostRuntimeException, RMIHostException,
-// IllegalArgumentException, IllegalAccessException, SecurityException, NoSuchMethodException {
-// Method method = foo.class.getDeclaredMethod("crash", new Class[] {});
-// RMIHost host = createMock(RMIHost.class);
-// expect(host.findService(null, null, null)).andReturn(new foo());
-// replay(host);
-// try {
-// new RMIInvoker(host, null, null, null, method).invokeTarget(new Object[] {});
-// fail();
-// } catch (InvocationTargetException e) {
-// // expected
-// }
-// }
-//
-// class foo implements Remote {
-// void crash() throws IllegalAccessException {
-// throw new IllegalAccessException();
-// }
-//
-// void bang() throws RMIHostException {
-// throw new RMIHostException();
-// }
-// }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIReferenceTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIReferenceTestCase.java
deleted file mode 100644
index 5c935ec38a..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIReferenceTestCase.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
-
-public class RMIReferenceTestCase extends TestCase {
-
- @SuppressWarnings("unchecked")
- public void testCreateTargetInvoker() {
- // TODO: this doesn't really test anything yet
- RMIReference ref = new RMIReference(null, null, null, null, null, null, null, null);
- ServiceContract contract = new JavaServiceContract();
- contract.setInterfaceClass(String.class);
- List l = new ArrayList();
- l.add(new DataType(null, null));
- DataType in = new DataType(null, l);
- Operation operation = new Operation(null, in, null, null);
- try {
- ref.createTargetInvoker(contract, operation);
- } catch (Exception e) {
- // expected
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIServiceTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIServiceTestCase.java
deleted file mode 100644
index 1386cf2c72..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIServiceTestCase.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.binding.rmi.host.RMIHostImpl;
-import org.apache.tuscany.host.rmi.RMIHostRuntimeException;
-import org.apache.tuscany.spi.wire.WireInvocationHandler;
-
-public class RMIServiceTestCase extends TestCase {
-
- @SuppressWarnings("unchecked")
- public void testGetPort() {
- RMIService s = new RMIService(null, null, null, null, null, null, null, null);
- assertEquals(0, s.getPort("0"));
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateRemoteInterface() {
- RMIService s = new RMIService("foo27", null, null, null, null, null, null, null);
- s.generateRemoteInterface(Runnable.class);
- }
-
- @SuppressWarnings("unchecked")
- public void testCreateRmiService() {
- RMIService s = new RMIService("bla023", null, null, new RMIHostImpl(), null, "9996", "bla", Runnable.class) {
- public WireInvocationHandler getHandler() {
- return null;
- }
- };
- s.start();
- try {
- s.stop();
- } catch (RMIHostRuntimeException e) {
- // expected
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RemoteMethodHandlerTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RemoteMethodHandlerTestCase.java
deleted file mode 100644
index f5c9595aa3..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RemoteMethodHandlerTestCase.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-
-import java.lang.reflect.Method;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.spi.wire.WireInvocationHandler;
-
-public class RemoteMethodHandlerTestCase extends TestCase {
-
- public void testIntercept() throws SecurityException, NoSuchMethodException, Throwable {
- WireInvocationHandler h2 = createMock(WireInvocationHandler.class);
- Method method = Runnable.class.getDeclaredMethod("run", new Class[]{});
- Object[] noArgs = new Object[]{};
- expect(h2.invoke(method, noArgs)).andReturn("foo");
- replay(h2);
- RemoteMethodHandler handler = new RemoteMethodHandler(h2, Runnable.class);
- Object o = handler.intercept(null, method, noArgs, null);
- assertEquals("foo", o);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/host/RMIHostImplTestCase.java b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/host/RMIHostImplTestCase.java
deleted file mode 100644
index 08f6172f3d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/host/RMIHostImplTestCase.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.binding.rmi.host;
-
-import java.rmi.Remote;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.host.rmi.RMIHostException;
-import org.apache.tuscany.host.rmi.RMIHostRuntimeException;
-
-public class RMIHostImplTestCase extends TestCase {
-
- public void testInit() {
- new RMIHostImpl().init();
- }
-
- public void testFindServiceBadHost() throws RMIHostRuntimeException, RMIHostException {
- try {
- new RMIHostImpl().findService(null, "0", null);
- fail();
- } catch (RMIHostRuntimeException e) {
- // expected
- }
- }
-
- public void testRegisterService1() throws RMIHostRuntimeException, RMIHostException {
- RMIHostImpl host = new RMIHostImpl();
- host.registerService("foo1", new MockRemote());
- host.unregisterService("foo1");
- }
-
- public void testRegisterService2() throws RMIHostRuntimeException, RMIHostException {
- RMIHostImpl host = new RMIHostImpl();
- host.registerService("bar1", 9999, new MockRemote());
- host.unregisterService("bar1", 9999);
- }
-
- public void testRegisterServiceAlreadyBound() throws RMIHostRuntimeException, RMIHostException {
- RMIHostImpl host = new RMIHostImpl();
- host.registerService("bar2", 9997, new MockRemote());
- try {
- host.registerService("bar2", 9997, new MockRemote());
- } catch (RMIHostException e) {
- // expected
- host.unregisterService("bar2", 9997);
- }
- }
-
- public void testUnRegisterService() throws RMIHostRuntimeException, RMIHostException {
- RMIHostImpl host = new RMIHostImpl();
- try {
- host.unregisterService("bar3", 9998);
- fail();
- } catch (RMIHostException e) {
- // expected
- }
- }
-
- private static class MockRemote implements Remote {
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/HelloWorldImpl.componentType b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/HelloWorldImpl.componentType
deleted file mode 100644
index a0beb4403d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/HelloWorldImpl.componentType
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<?xml version="1.0" encoding="ASCII"?>
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
- <service name="HelloWorldService">
- <interface.java interface="helloworld.HelloWorldService"/>
- </service>
-</componentType>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/HelloWorldRmiImpl.componentType b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/HelloWorldRmiImpl.componentType
deleted file mode 100644
index b0e0b007a6..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/HelloWorldRmiImpl.componentType
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<?xml version="1.0" encoding="ASCII"?>
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
- <service name="HelloWorldRmiService">
- <interface.java interface="helloworld.HelloWorldRmiService"/>
- </service>
- <reference name="extService">
- <interface.java interface="helloworld.HelloWorldService"/>
- </reference>
-</componentType>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/LICENSE.txt b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 25d78feeac..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,1277 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-APACHE TUSCANY SUBCOMPONENTS:
-
-The Apache Tuscany distribution includes a number of subcomponents with
-separate copyright notices and license terms. Your use of the source
-code for the these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-===============================================================================
-
-For the Eclipse Modeling Framework component and the Celtix binding:
-
-Eclipse Public License - v 1.0
-
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
-THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-1. DEFINITIONS
-
-"Contribution" means:
-
-a) in the case of the initial Contributor, the initial code and
-documentation distributed under this Agreement, and
-b) in the case of each subsequent Contributor:
-
-i) changes to the Program, and
-
-ii) additions to the Program;
-
-where such changes and/or additions to the Program originate from and
-are distributed by that particular Contributor. A Contribution
-'originates' from a Contributor if it was added to the Program by such
-Contributor itself or anyone acting on such Contributor's behalf.
-Contributions do not include additions to the Program which: (i) are
-separate modules of software distributed in conjunction with the
-Program under their own license agreement, and (ii) are not derivative
-works of the Program.
-
-"Contributor" means any person or entity that distributes the Program.
-
-"Licensed Patents " mean patent claims licensable by a Contributor
-which are necessarily infringed by the use or sale of its Contribution
-alone or when combined with the Program.
-
-"Program" means the Contributions distributed in accordance with this
-Agreement.
-
-"Recipient" means anyone who receives the Program under this
-Agreement, including all Contributors.
-
-2. GRANT OF RIGHTS
-
-a) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free copyright
-license to reproduce, prepare derivative works of, publicly display,
-publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.
-
-b) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free patent
-license under Licensed Patents to make, use, sell, offer to sell,
-import and otherwise transfer the Contribution of such Contributor, if
-any, in source code and object code form. This patent license shall
-apply to the combination of the Contribution and the Program if, at
-the time the Contribution is added by the Contributor, such addition
-of the Contribution causes such combination to be covered by the
-Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.
-
-c) Recipient understands that although each Contributor grants the
-licenses to its Contributions set forth herein, no assurances are
-provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow
-Recipient to distribute the Program, it is Recipient's responsibility
-to acquire that license before distributing the Program.
-
-d) Each Contributor represents that to its knowledge it has sufficient
-copyright rights in its Contribution, if any, to grant the copyright
-license set forth in this Agreement.
-
-3. REQUIREMENTS
-
-A Contributor may choose to distribute the Program in object code form
-under its own license agreement, provided that:
-
-a) it complies with the terms and conditions of this Agreement; and
-
-b) its license agreement:
-
-i) effectively disclaims on behalf of all Contributors all warranties
-and conditions, express and implied, including warranties or
-conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;
-
-ii) effectively excludes on behalf of all Contributors all liability
-for damages, including direct, indirect, special, incidental and
-consequential damages, such as lost profits;
-
-iii) states that any provisions which differ from this Agreement are
-offered by that Contributor alone and not by any other party; and
-
-iv) states that source code for the Program is available from such
-Contributor, and informs licensees how to obtain it in a reasonable
-manner on or through a medium customarily used for software exchange.
-
-When the Program is made available in source code form:
-
-a) it must be made available under this Agreement; and
-
-b) a copy of this Agreement must be included with each copy of the
-Program.
-
-Contributors may not remove or alter any copyright notices contained
-within the Program.
-
-Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.
-
-4. COMMERCIAL DISTRIBUTION
-
-Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a
-commercial product offering should do so in a manner which does not
-create potential liability for other Contributors. Therefore, if a
-Contributor includes the Program in a commercial product offering,
-such Contributor ("Commercial Contributor") hereby agrees to defend
-and indemnify every other Contributor ("Indemnified Contributor")
-against any losses, damages and costs (collectively "Losses") arising
-from claims, lawsuits and other legal actions brought by a third party
-against the Indemnified Contributor to the extent caused by the acts
-or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement.
-In order to qualify, an Indemnified Contributor must: a) promptly
-notify the Commercial Contributor in writing of such claim, and b)
-allow the Commercial Contributor to control, and cooperate with the
-Commercial Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any such
-claim at its own expense.
-
-For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.
-
-5. NO WARRANTY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
-WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable
-laws, damage to or loss of data, programs or equipment, and
-unavailability or interruption of operations.
-
-6. DISCLAIMER OF LIABILITY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-7. GENERAL
-
-If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further
-action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.
-
-If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-the Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of
-the date such litigation is filed.
-
-All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of
-time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use
-and distribution of the Program as soon as reasonably practicable.
-However, Recipient's obligations under this Agreement and any licenses
-granted by Recipient relating to the Program shall continue and
-survive.
-
-Everyone is permitted to copy and distribute copies of this Agreement,
-but in order to avoid inconsistency the Agreement is copyrighted and
-may only be modified in the following manner. The Agreement Steward
-reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement
-Steward has the right to modify this Agreement. The Eclipse Foundation
-is the initial Agreement Steward. The Eclipse Foundation may assign
-the responsibility to serve as the Agreement Steward to a suitable
-separate entity. Each new version of the Agreement will be given a
-distinguishing version number. The Program (including Contributions)
-may always be distributed subject to the version of the Agreement
-under which it was received. In addition, after a new version of the
-Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives
-no rights or licenses to the intellectual property of any Contributor
-under this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.
-
-This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No
-party to this Agreement will bring a legal action under this Agreement
-more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.
-
-===============================================================================
-
-For the Rhino JavaScript container component:
-
-Mozilla Public License 1.1 (MPL 1.1)
-
-1. Definitions.
-
- 1.0.1. "Commercial Use" means distribution or otherwise making the
-Covered Code available to a third party.
-
- 1.1. "Contributor" means each entity that creates or contributes to
-the creation of Modifications.
-
- 1.2. "Contributor Version" means the combination of the Original Code,
-prior Modifications used by a Contributor, and the Modifications made by that
-particular Contributor.
-
- 1.3. "Covered Code" means the Original Code or Modifications or the
-combination of the Original Code and Modifications, in each case including
-portions thereof.
-
- 1.4. "Electronic Distribution Mechanism" means a mechanism generally
-accepted in the software development community for the electronic transfer of
-data.
-
- 1.5. "Executable" means Covered Code in any form other than Source
-Code.
-
- 1.6. "Initial Developer" means the individual or entity identified as
-the Initial Developer in the Source Code notice required by Exhibit A.
-
- 1.7. "Larger Work" means a work which combines Covered Code or
-portions thereof with code not governed by the terms of this License.
-
- 1.8. "License" means this document.
-
- 1.8.1. "Licensable" means having the right to grant, to the maximum
-extent possible, whether at the time of the initial grant or subsequently
-acquired, any and all of the rights conveyed herein.
-
- 1.9. "Modifications" means any addition to or deletion from the
-substance or structure of either the Original Code or any previous
-Modifications. When Covered Code is released as a series of files, a
-Modification is:
- A. Any addition to or deletion from the contents of a file
-containing Original Code or previous Modifications.
-
- B. Any new file that contains any part of the Original Code or
-previous Modifications.
-
- 1.10. "Original Code" means Source Code of computer software code
-which is described in the Source Code notice required by Exhibit A as Original
-Code, and which, at the time of its release under this License is not already
-Covered Code governed by this License.
-
- 1.10.1. "Patent Claims" means any patent claim(s), now owned or
-hereafter acquired, including without limitation, method, process, and
-apparatus claims, in any patent Licensable by grantor.
-
- 1.11. "Source Code" means the preferred form of the Covered Code for
-making modifications to it, including all modules it contains, plus any
-associated interface definition files, scripts used to control compilation and
-installation of an Executable, or source code differential comparisons against
-either the Original Code or another well known, available Covered Code of the
-Contributor's choice. The Source Code can be in a compressed or archival form,
-provided the appropriate decompression or de-archiving software is widely
-available for no charge.
-
- 1.12. "You" (or "Your") means an individual or a legal entity
-exercising rights under, and complying with all of the terms of, this License
-or a future version of this License issued under Section 6.1. For legal
-entities, "You" includes any entity which controls, is controlled by, or is
-under common control with You. For purposes of this definition, "control"
-means (a) the power, direct or indirect, to cause the direction or management
-of such entity, whether by contract or otherwise, or (b) ownership of more
-than fifty percent (50%) of the outstanding shares or beneficial ownership of
-such entity.
-
-2. Source Code License.
-
- 2.1. The Initial Developer Grant.
- The Initial Developer hereby grants You a world-wide, royalty-free,
-non-exclusive license, subject to third party intellectual property claims:
- (a) under intellectual property rights (other than patent or
-trademark) Licensable by Initial Developer to use, reproduce, modify, display,
-perform, sublicense and distribute the Original Code (or portions thereof)
-with or without Modifications, and/or as part of a Larger Work; and
-
- (b) under Patents Claims infringed by the making, using or selling
-of Original Code, to make, have made, use, practice, sell, and offer for sale,
-and/or otherwise dispose of the Original Code (or portions thereof).
- (c) the licenses granted in this Section 2.1(a) and
-(b) are effective on the date Initial Developer first distributes Original
-Code under the terms of this License.
-
- (d) Notwithstanding Section 2.1(b) above, no patent license is
-granted: 1) for code that You delete from the Original Code; 2) separate from
-the Original Code; or 3) for infringements caused by: i) the modification of
-the Original Code or ii) the combination of the Original Code with other
-software or devices.
-
- 2.2. Contributor Grant.
- Subject to third party intellectual property claims, each Contributor
-hereby grants You a world-wide, royalty-free, non-exclusive license
-
- (a) under intellectual property rights (other than patent or
-trademark) Licensable by Contributor, to use, reproduce, modify, display,
-perform, sublicense and distribute the Modifications created by such
-Contributor (or portions thereof) either on an unmodified basis, with other
-Modifications, as Covered Code and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using, or selling
-of Modifications made by that Contributor either alone and/or in combination
-with its Contributor Version (or portions of such combination), to make, use,
-sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications
-made by that Contributor (or portions thereof); and 2) the combination of
-Modifications made by that Contributor with its Contributor Version (or
-portions of such combination).
-
- (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-effective on the date Contributor first makes Commercial Use of the Covered
-Code.
-
- (d) Notwithstanding Section 2.2(b) above, no patent license is
-granted: 1) for any code that Contributor has deleted from the Contributor
-Version; 2) separate from the Contributor Version; 3) for infringements
-caused by: i) third party modifications of Contributor Version or ii) the
-combination of Modifications made by that Contributor with other software
-(except as part of the Contributor Version) or other devices; or 4) under
-Patent Claims infringed by Covered Code in the absence of Modifications made
-by that Contributor.
-
-
-3. Distribution Obligations.
-
- 3.1. Application of License.
- The Modifications which You create or to which You contribute are
-governed by the terms of this License, including without limitation Section
-2.2. The Source Code version of Covered Code may be distributed only under the
-terms of this License or a future version of this License released under
-Section 6.1, and You must include a copy of this License with every copy of
-the Source Code You distribute. You may not offer or impose any terms on any
-Source Code version that alters or restricts the applicable version of this
-License or the recipients' rights hereunder. However, You may include an
-additional document offering the additional rights described in Section 3.5.
-
- 3.2. Availability of Source Code.
- Any Modification which You create or to which You contribute must be
-made available in Source Code form under the terms of this License either on
-the same media as an Executable version or via an accepted Electronic
-Distribution Mechanism to anyone to whom you made an Executable version
-available; and if made available via Electronic Distribution Mechanism, must
-remain available for at least twelve (12) months after the date it initially
-became available, or at least six (6) months after a subsequent version of
-that particular Modification has been made available to such recipients. You
-are responsible for ensuring that the Source Code version remains available
-even if the Electronic Distribution Mechanism is maintained by a third party.
-
- 3.3. Description of Modifications.
- You must cause all Covered Code to which You contribute to contain a
-file documenting the changes You made to create that Covered Code and the date
-of any change. You must include a prominent statement that the Modification is
-derived, directly or indirectly, from Original Code provided by the Initial
-Developer and including the name of the Initial Developer in (a) the Source
-Code, and (b) in any notice in an Executable version or related documentation
-in which You describe the origin or ownership of the Covered Code.
-
- 3.4. Intellectual Property Matters
- (a) Third Party Claims.
- If Contributor has knowledge that a license under a third party's
-intellectual property rights is required to exercise the rights granted by
-such Contributor under Sections 2.1 or 2.2, Contributor must include a text
-file with the Source Code distribution titled "LEGAL" which describes the
-claim and the party making the claim in sufficient detail that a recipient
-will know whom to contact. If Contributor obtains such knowledge after the
-Modification is made available as described in Section 3.2, Contributor shall
-promptly modify the LEGAL file in all copies Contributor makes available
-thereafter and shall take other steps (such as notifying appropriate mailing
-lists or newsgroups) reasonably calculated to inform those who received the
-Covered Code that new knowledge has been obtained.
-
- (b) Contributor APIs.
- If Contributor's Modifications include an application programming
-interface and Contributor has knowledge of patent licenses which are
-reasonably necessary to implement that API, Contributor must also include this
-information in the LEGAL file.
-
- (c) Representations.
- Contributor represents that, except as disclosed pursuant to
-Section 3.4(a) above, Contributor believes that Contributor's Modifications
-are Contributor's original creation(s) and/or Contributor has sufficient
-rights to grant the rights conveyed by this License.
-
-
- 3.5. Required Notices.
- You must duplicate the notice in Exhibit A in each file of the Source
-Code. If it is not possible to put such notice in a particular Source Code
-file due to its structure, then You must include such notice in a location
-(such as a relevant directory) where a user would be likely to look for such a
-notice. If You created one or more Modification(s) You may add your name as a
-Contributor to the notice described in Exhibit A. You must also duplicate
-this License in any documentation for the Source Code where You describe
-recipients' rights or ownership rights relating to Covered Code. You may
-choose to offer, and to charge a fee for, warranty, support, indemnity or
-liability obligations to one or more recipients of Covered Code. However, You
-may do so only on Your own behalf, and not on behalf of the Initial Developer
-or any Contributor. You must make it absolutely clear than any such warranty,
-support, indemnity or liability obligation is offered by You alone, and You
-hereby agree to indemnify the Initial Developer and every Contributor for any
-liability incurred by the Initial Developer or such Contributor as a result of
-warranty, support, indemnity or liability terms You offer.
-
- 3.6. Distribution of Executable Versions.
- You may distribute Covered Code in Executable form only if the
-requirements of Section 3.1-3.5 have been met for that Covered Code, and if
-You include a notice stating that the Source Code version of the Covered Code
-is available under the terms of this License, including a description of how
-and where You have fulfilled the obligations of Section 3.2. The notice must
-be conspicuously included in any notice in an Executable version, related
-documentation or collateral in which You describe recipients' rights relating
-to the Covered Code. You may distribute the Executable version of Covered Code
-or ownership rights under a license of Your choice, which may contain terms
-different from this License, provided that You are in compliance with the
-terms of this License and that the license for the Executable version does not
-attempt to limit or alter the recipient's rights in the Source Code version
-from the rights set forth in this License. If You distribute the Executable
-version under a different license You must make it absolutely clear that any
-terms which differ from this License are offered by You alone, not by the
-Initial Developer or any Contributor. You hereby agree to indemnify the
-Initial Developer and every Contributor for any liability incurred by the
-Initial Developer or such Contributor as a result of any such terms You offer.
-
- 3.7. Larger Works.
- You may create a Larger Work by combining Covered Code with other code
-not governed by the terms of this License and distribute the Larger Work as a
-single product. In such a case, You must make sure the requirements of this
-License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
- If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Code due to statute,
-judicial order, or regulation then You must: (a) comply with the terms of this
-License to the maximum extent possible; and (b) describe the limitations and
-the code they affect. Such description must be included in the LEGAL file
-described in Section 3.4 and must be included with all distributions of the
-Source Code. Except to the extent prohibited by statute or regulation, such
-description must be sufficiently detailed for a recipient of ordinary skill to
-be able to understand it.
-
-5. Application of this License.
-
- This License applies to code to which the Initial Developer has attached
-the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
- 6.1. New Versions.
- Netscape Communications Corporation ("Netscape") may publish revised
-and/or new versions of the License from time to time. Each version will be
-given a distinguishing version number.
-
- 6.2. Effect of New Versions.
- Once Covered Code has been published under a particular version of the
-License, You may always continue to use it under the terms of that version.
-You may also choose to use such Covered Code under the terms of any subsequent
-version of the License published by Netscape. No one other than Netscape has
-the right to modify the terms applicable to Covered Code created under this
-License.
-
- 6.3. Derivative Works.
- If You create or use a modified version of this License (which you may
-only do in order to apply it to code which is not already Covered Code
-governed by this License), You must (a) rename Your license so that the
-phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or
-any confusingly similar phrase do not appear in your license (except to note
-that your license differs from this License) and (b) otherwise make it clear
-that Your version of the license contains terms which differ from the Mozilla
-Public License and Netscape Public License. (Filling in the name of the
-Initial Developer, Original Code or Contributor in the notice described in
-Exhibit A shall not of themselves be deemed to be modifications of this
-License.)
-
-7. DISCLAIMER OF WARRANTY.
-
- COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
-LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE,
-FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE
-QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED
-CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
-OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR
-CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
-LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
-DISCLAIMER.
-
-8. TERMINATION.
-
- 8.1. This License and the rights granted hereunder will terminate
-automatically if You fail to comply with terms herein and fail to cure such
-breach within 30 days of becoming aware of the breach. All sublicenses to the
-Covered Code which are properly granted shall survive any termination of this
-License. Provisions which, by their nature, must remain in effect beyond the
-termination of this License shall survive.
-
- 8.2. If You initiate litigation by asserting a patent infringement
-claim (excluding declatory judgment actions) against Initial Developer or a
-Contributor (the Initial Developer or Contributor against whom You file such
-action is referred to as "Participant") alleging that:
-
- (a) such Participant's Contributor Version directly or indirectly
-infringes any patent, then any and all rights granted by such Participant to
-You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice
-from Participant terminate prospectively, unless if within 60 days after
-receipt of notice You either: (i) agree in writing to pay Participant a
-mutually agreeable reasonable royalty for Your past and future use of
-Modifications made by such Participant, or (ii) withdraw Your litigation claim
-with respect to the Contributor Version against such Participant. If within
-60 days of notice, a reasonable royalty and payment arrangement are not
-mutually agreed upon in writing by the parties or the litigation claim is not
-withdrawn, the rights granted by Participant to You under Sections 2.1 and/or
-2.2 automatically terminate at the expiration of the 60 day notice period
-specified above.
-
- (b) any software, hardware, or device, other than such Participant's
-Contributor Version, directly or indirectly infringes any patent, then any
-rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are
-revoked effective as of the date You first made, used, sold, distributed, or
-had made, Modifications made by that Participant.
-
- 8.3. If You assert a patent infringement claim against Participant
-alleging that such Participant's Contributor Version directly or indirectly
-infringes any patent where such claim is resolved (such as by license or
-settlement) prior to the initiation of patent infringement litigation, then
-the reasonable value of the licenses granted by such Participant under
-Sections 2.1 or 2.2 shall be taken into account in determining the amount or
-value of any payment or license.
-
- 8.4. In the event of termination under Sections 8.1 or 8.2 above, all
-end user license agreements (excluding distributors and resellers) which have
-been validly granted by You or any distributor hereunder prior to termination
-shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY
-SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT,
-SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING,
-WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER
-FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES,
-EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH
-DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH
-OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
-APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
-EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
- The Covered Code is a "commercial item," as that term is defined in 48
-C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and
-"commercial computer software documentation," as such terms are used in 48
-C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R.
-227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users
-acquire Covered Code with only those rights set forth herein.
-
-11. MISCELLANEOUS.
-
- This License represents the complete agreement concerning subject matter
-hereof. If any provision of this License is held to be unenforceable, such
-provision shall be reformed only to the extent necessary to make it
-enforceable. This License shall be governed by California law provisions
-(except to the extent applicable law, if any, provides otherwise), excluding
-its conflict-of-law provisions. With respect to disputes in which at least one
-party is a citizen of, or an entity chartered or registered to do business in
-the United States of America, any litigation relating to this License shall be
-subject to the jurisdiction of the Federal Courts of the Northern District of
-California, with venue lying in Santa Clara County, California, with the
-losing party responsible for costs, including without limitation, court costs
-and reasonable attorneys' fees and expenses. The application of the United
-Nations Convention on Contracts for the International Sale of Goods is
-expressly excluded. Any law or regulation which provides that the language of
-a contract shall be construed against the drafter shall not apply to this
-License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
- As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or indirectly, out of its
-utilization of rights under this License and You agree to work with Initial
-Developer and Contributors to distribute such responsibility on an equitable
-basis. Nothing herein is intended or shall be deemed to constitute any
-admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
- Initial Developer may designate portions of the Covered Code as
-Multiple-Licensed. Multiple-Licensed means that the Initial Developer permits
-you to utilize portions of the Covered Code under Your choice of the MPL or
-the alternative licenses, if any, specified by the Initial Developer in the
-file described in Exhibit A.
-
-
-EXHIBIT A -Mozilla Public License.
-
- ``The contents of this file are subject to the Mozilla Public License
-Version 1.1 (the "License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS"
-basis, WITHOUT WARRANTY OF
- ANY KIND, either express or implied. See the License for the specific
-language governing rights and
- limitations under the License.
-
- The Original Code is ______________________________________.
-
- The Initial Developer of the Original Code is ________________________.
-Portions created by
- ______________________ are Copyright (C) ______
-_______________________. All Rights
- Reserved.
-
- Contributor(s): ______________________________________.
-
- Alternatively, the contents of this file may be used under the terms of
-the _____ license (the [___] License), in which case the provisions of
-[______] License are applicable instead of those above. If you wish to allow
-use of your version of this file only under the terms of the [____] License
-and not to allow others to use your version of this file under the MPL,
-indicate your decision by deleting the provisions above and replace them
-with the notice and other provisions required by the [___] License. If you do
-not delete the provisions above, a recipient may use your version of this file
-under either the MPL or the [___] License."
-
- [NOTE: The text of this Exhibit A may differ slightly from the text of
-the notices in the Source Code files of the Original Code. You should use the
-text of this Exhibit A rather than the text found in the Original Code Source
-Code for Your Modifications.]
-
-
-===============================================================================
-
-For the JAX-WS Reference Implementation component:
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-
-
- 1. Definitions.
-
- 1.1. "Contributor" means each individual or entity that
- creates or contributes to the creation of Modifications.
-
- 1.2. "Contributor Version" means the combination of the
- Original Software, prior Modifications used by a
- Contributor (if any), and the Modifications made by that
- particular Contributor.
-
- 1.3. "Covered Software" means (a) the Original Software, or
- (b) Modifications, or (c) the combination of files
- containing Original Software with files containing
- Modifications, in each case including portions thereof.
-
- 1.4. "Executable" means the Covered Software in any form
- other than Source Code.
-
- 1.5. "Initial Developer" means the individual or entity
- that first makes Original Software available under this
- License.
-
- 1.6. "Larger Work" means a work which combines Covered
- Software or portions thereof with code not governed by the
- terms of this License.
-
- 1.7. "License" means this document.
-
- 1.8. "Licensable" means having the right to grant, to the
- maximum extent possible, whether at the time of the initial
- grant or subsequently acquired, any and all of the rights
- conveyed herein.
-
- 1.9. "Modifications" means the Source Code and Executable
- form of any of the following:
-
- A. Any file that results from an addition to,
- deletion from or modification of the contents of a
- file containing Original Software or previous
- Modifications;
-
- B. Any new file that contains any part of the
- Original Software or previous Modification; or
-
- C. Any new file that is contributed or otherwise made
- available under the terms of this License.
-
- 1.10. "Original Software" means the Source Code and
- Executable form of computer software code that is
- originally released under this License.
-
- 1.11. "Patent Claims" means any patent claim(s), now owned
- or hereafter acquired, including without limitation,
- method, process, and apparatus claims, in any patent
- Licensable by grantor.
-
- 1.12. "Source Code" means (a) the common form of computer
- software code in which modifications are made and (b)
- associated documentation included in or with such code.
-
- 1.13. "You" (or "Your") means an individual or a legal
- entity exercising rights under, and complying with all of
- the terms of, this License. For legal entities, "You"
- includes any entity which controls, is controlled by, or is
- under common control with You. For purposes of this
- definition, "control" means (a) the power, direct or
- indirect, to cause the direction or management of such
- entity, whether by contract or otherwise, or (b) ownership
- of more than fifty percent (50%) of the outstanding shares
- or beneficial ownership of such entity.
-
- 2. License Grants.
-
- 2.1. The Initial Developer Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and
- subject to third party intellectual property claims, the
- Initial Developer hereby grants You a world-wide,
- royalty-free, non-exclusive license:
-
- (a) under intellectual property rights (other than
- patent or trademark) Licensable by Initial Developer,
- to use, reproduce, modify, display, perform,
- sublicense and distribute the Original Software (or
- portions thereof), with or without Modifications,
- and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making,
- using or selling of Original Software, to make, have
- made, use, practice, sell, and offer for sale, and/or
- otherwise dispose of the Original Software (or
- portions thereof).
-
- (c) The licenses granted in Sections 2.1(a) and (b)
- are effective on the date Initial Developer first
- distributes or otherwise makes the Original Software
- available to a third party under the terms of this
- License.
-
- (d) Notwithstanding Section 2.1(b) above, no patent
- license is granted: (1) for code that You delete from
- the Original Software, or (2) for infringements
- caused by: (i) the modification of the Original
- Software, or (ii) the combination of the Original
- Software with other software or devices.
-
- 2.2. Contributor Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and
- subject to third party intellectual property claims, each
- Contributor hereby grants You a world-wide, royalty-free,
- non-exclusive license:
-
- (a) under intellectual property rights (other than
- patent or trademark) Licensable by Contributor to
- use, reproduce, modify, display, perform, sublicense
- and distribute the Modifications created by such
- Contributor (or portions thereof), either on an
- unmodified basis, with other Modifications, as
- Covered Software and/or as part of a Larger Work; and
-
-
- (b) under Patent Claims infringed by the making,
- using, or selling of Modifications made by that
- Contributor either alone and/or in combination with
- its Contributor Version (or portions of such
- combination), to make, use, sell, offer for sale,
- have made, and/or otherwise dispose of: (1)
- Modifications made by that Contributor (or portions
- thereof); and (2) the combination of Modifications
- made by that Contributor with its Contributor Version
- (or portions of such combination).
-
- (c) The licenses granted in Sections 2.2(a) and
- 2.2(b) are effective on the date Contributor first
- distributes or otherwise makes the Modifications
- available to a third party.
-
- (d) Notwithstanding Section 2.2(b) above, no patent
- license is granted: (1) for any code that Contributor
- has deleted from the Contributor Version; (2) for
- infringements caused by: (i) third party
- modifications of Contributor Version, or (ii) the
- combination of Modifications made by that Contributor
- with other software (except as part of the
- Contributor Version) or other devices; or (3) under
- Patent Claims infringed by Covered Software in the
- absence of Modifications made by that Contributor.
-
- 3. Distribution Obligations.
-
- 3.1. Availability of Source Code.
-
- Any Covered Software that You distribute or otherwise make
- available in Executable form must also be made available in
- Source Code form and that Source Code form must be
- distributed only under the terms of this License. You must
- include a copy of this License with every copy of the
- Source Code form of the Covered Software You distribute or
- otherwise make available. You must inform recipients of any
- such Covered Software in Executable form as to how they can
- obtain such Covered Software in Source Code form in a
- reasonable manner on or through a medium customarily used
- for software exchange.
-
- 3.2. Modifications.
-
- The Modifications that You create or to which You
- contribute are governed by the terms of this License. You
- represent that You believe Your Modifications are Your
- original creation(s) and/or You have sufficient rights to
- grant the rights conveyed by this License.
-
- 3.3. Required Notices.
-
- You must include a notice in each of Your Modifications
- that identifies You as the Contributor of the Modification.
- You may not remove or alter any copyright, patent or
- trademark notices contained within the Covered Software, or
- any notices of licensing or any descriptive text giving
- attribution to any Contributor or the Initial Developer.
-
- 3.4. Application of Additional Terms.
-
- You may not offer or impose any terms on any Covered
- Software in Source Code form that alters or restricts the
- applicable version of this License or the recipients'
- rights hereunder. You may choose to offer, and to charge a
- fee for, warranty, support, indemnity or liability
- obligations to one or more recipients of Covered Software.
- However, you may do so only on Your own behalf, and not on
- behalf of the Initial Developer or any Contributor. You
- must make it absolutely clear that any such warranty,
- support, indemnity or liability obligation is offered by
- You alone, and You hereby agree to indemnify the Initial
- Developer and every Contributor for any liability incurred
- by the Initial Developer or such Contributor as a result of
- warranty, support, indemnity or liability terms You offer.
-
-
- 3.5. Distribution of Executable Versions.
-
- You may distribute the Executable form of the Covered
- Software under the terms of this License or under the terms
- of a license of Your choice, which may contain terms
- different from this License, provided that You are in
- compliance with the terms of this License and that the
- license for the Executable form does not attempt to limit
- or alter the recipient's rights in the Source Code form
- from the rights set forth in this License. If You
- distribute the Covered Software in Executable form under a
- different license, You must make it absolutely clear that
- any terms which differ from this License are offered by You
- alone, not by the Initial Developer or Contributor. You
- hereby agree to indemnify the Initial Developer and every
- Contributor for any liability incurred by the Initial
- Developer or such Contributor as a result of any such terms
- You offer.
-
- 3.6. Larger Works.
-
- You may create a Larger Work by combining Covered Software
- with other code not governed by the terms of this License
- and distribute the Larger Work as a single product. In such
- a case, You must make sure the requirements of this License
- are fulfilled for the Covered Software.
-
- 4. Versions of the License.
-
- 4.1. New Versions.
-
- Sun Microsystems, Inc. is the initial license steward and
- may publish revised and/or new versions of this License
- from time to time. Each version will be given a
- distinguishing version number. Except as provided in
- Section 4.3, no one other than the license steward has the
- right to modify this License.
-
- 4.2. Effect of New Versions.
-
- You may always continue to use, distribute or otherwise
- make the Covered Software available under the terms of the
- version of the License under which You originally received
- the Covered Software. If the Initial Developer includes a
- notice in the Original Software prohibiting it from being
- distributed or otherwise made available under any
- subsequent version of the License, You must distribute and
- make the Covered Software available under the terms of the
- version of the License under which You originally received
- the Covered Software. Otherwise, You may also choose to
- use, distribute or otherwise make the Covered Software
- available under the terms of any subsequent version of the
- License published by the license steward.
-
- 4.3. Modified Versions.
-
- When You are an Initial Developer and You want to create a
- new license for Your Original Software, You may create and
- use a modified version of this License if You: (a) rename
- the license and remove any references to the name of the
- license steward (except to note that the license differs
- from this License); and (b) otherwise make it clear that
- the license contains terms which differ from this License.
-
-
- 5. DISCLAIMER OF WARRANTY.
-
- COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
- BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
- INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
- SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
- PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
- PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
- COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
- INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
- ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
- WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
- ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
- DISCLAIMER.
-
- 6. TERMINATION.
-
- 6.1. This License and the rights granted hereunder will
- terminate automatically if You fail to comply with terms
- herein and fail to cure such breach within 30 days of
- becoming aware of the breach. Provisions which, by their
- nature, must remain in effect beyond the termination of
- this License shall survive.
-
- 6.2. If You assert a patent infringement claim (excluding
- declaratory judgment actions) against Initial Developer or
- a Contributor (the Initial Developer or Contributor against
- whom You assert such claim is referred to as "Participant")
- alleging that the Participant Software (meaning the
- Contributor Version where the Participant is a Contributor
- or the Original Software where the Participant is the
- Initial Developer) directly or indirectly infringes any
- patent, then any and all rights granted directly or
- indirectly to You by such Participant, the Initial
- Developer (if the Initial Developer is not the Participant)
- and all Contributors under Sections 2.1 and/or 2.2 of this
- License shall, upon 60 days notice from Participant
- terminate prospectively and automatically at the expiration
- of such 60 day notice period, unless if within such 60 day
- period You withdraw Your claim with respect to the
- Participant Software against such Participant either
- unilaterally or pursuant to a written agreement with
- Participant.
-
- 6.3. In the event of termination under Sections 6.1 or 6.2
- above, all end user licenses that have been validly granted
- by You or any distributor hereunder prior to termination
- (excluding licenses granted to You by any distributor)
- shall survive termination.
-
- 7. LIMITATION OF LIABILITY.
-
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
- (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
- INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
- COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
- LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
- CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
- LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
- STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
- COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
- INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
- LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
- INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
- APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
- NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
- CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
- APPLY TO YOU.
-
- 8. U.S. GOVERNMENT END USERS.
-
- The Covered Software is a "commercial item," as that term is
- defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
- computer software" (as that term is defined at 48 C.F.R.
- 252.227-7014(a)(1)) and "commercial computer software
- documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
- 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
- through 227.7202-4 (June 1995), all U.S. Government End Users
- acquire Covered Software with only those rights set forth herein.
- This U.S. Government Rights clause is in lieu of, and supersedes,
- any other FAR, DFAR, or other clause or provision that addresses
- Government rights in computer software under this License.
-
- 9. MISCELLANEOUS.
-
- This License represents the complete agreement concerning subject
- matter hereof. If any provision of this License is held to be
- unenforceable, such provision shall be reformed only to the
- extent necessary to make it enforceable. This License shall be
- governed by the law of the jurisdiction specified in a notice
- contained within the Original Software (except to the extent
- applicable law, if any, provides otherwise), excluding such
- jurisdiction's conflict-of-law provisions. Any litigation
- relating to this License shall be subject to the jurisdiction of
- the courts located in the jurisdiction and venue specified in a
- notice contained within the Original Software, with the losing
- party responsible for costs, including, without limitation, court
- costs and reasonable attorneys' fees and expenses. The
- application of the United Nations Convention on Contracts for the
- International Sale of Goods is expressly excluded. Any law or
- regulation which provides that the language of a contract shall
- be construed against the drafter shall not apply to this License.
- You agree that You alone are responsible for compliance with the
- United States export administration regulations (and the export
- control laws and regulation of any other countries) when You use,
- distribute or otherwise make available any Covered Software.
-
- 10. RESPONSIBILITY FOR CLAIMS.
-
- As between Initial Developer and the Contributors, each party is
- responsible for claims and damages arising, directly or
- indirectly, out of its utilization of rights under this License
- and You agree to work with Initial Developer and Contributors to
- distribute such responsibility on an equitable basis. Nothing
- herein is intended or shall be deemed to constitute any admission
- of liability.
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/NOTICE b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/NOTICE
deleted file mode 100644
index d48810c0ec..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/NOTICE
+++ /dev/null
@@ -1,18 +0,0 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache Tuscany distribution. ==
-=========================================================================
-
-This product includes software developed by the Apache Software Foundation
-(http://www.apache.org/).
-
-This product also includes software developed by:
-- the Eclipse Modeling Framework project (http://www.eclipse.org/emf/)
-- the Celtix project (http://celtix.objectweb.org/)
-- the Mozilla Rhino project (http://www.mozilla.org/rhino/)
-- the GlassFish JAX-WS project (https://jax-ws.dev.java.net/)
-
-Please read the LICENSE.txt file present in the root directory of this
-distribution.
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 5bb55f2405..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.rmi/src/test/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:rmi="http://incubator.apache.org/tuscany/xmlns/binding/rmi/1.0-incubator-M2"
- name="HelloWorldRmiComposite">
-
- <service name="HelloWorldRmiService" target="HelloWorldServiceComponent">
- <interface.java interface="helloworld.HelloWorldService"/>
- <rmi:binding.rmi host="localhost" port="8099" serviceName="HelloWorldRemoteService" />
- <reference>HelloWorldServiceComponent</reference>
- </service>
-
- <component name="HelloWorldServiceComponent">
- <implementation.java class="helloworld.HelloWorldImpl"/>
- </component>
-
- <component name="HelloWorldRmiServiceComponent">
- <implementation.java class="helloworld.HelloWorldRmiImpl"/>
- <reference name="extService" target="HelloWorldRmiReference">HelloWorldRmiReference</reference>
- </component>
-
- <reference name="HelloWorldRmiReference" target="Nothing">
- <interface.java interface="helloworld.HelloWorldService"/>
- <rmi:binding.rmi host="localhost" port="8099" serviceName="HelloWorldRemoteService" />
- </reference>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/pom.xml b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/pom.xml
deleted file mode 100644
index fcb4b086c4..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/pom.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <parent>
- <groupId>org.apache.tuscany.sca.services.bindings</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>binding-servicemix</artifactId>
- <name>Apache Tuscany Binding for ServiceMix</name>
- <description>Implementation of the SCA JBI Binding</description>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.servicemix</groupId>
- <artifactId>servicemix-core</artifactId>
- <version>3.0-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.servicemix</groupId>
- <artifactId>servicemix-common</artifactId>
- <version>3.0-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
-
- </dependencies>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaBootstrap.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaBootstrap.java
deleted file mode 100644
index ad407553b4..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaBootstrap.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.jbi.JBIException;
-import javax.jbi.component.Bootstrap;
-import javax.jbi.component.InstallationContext;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-/**
- * Base class for components bootstrap.
- *
- * @author Guillaume Nodet
- * @version $Revision$
- * @since 3.0
- */
-public class ScaBootstrap implements Bootstrap {
-
- protected final transient Log logger = LogFactory.getLog(getClass());
-
- protected InstallationContext context;
- protected ObjectName mbeanName;
-
- public ScaBootstrap() {
- }
-
- public ObjectName getExtensionMBeanName() {
- return mbeanName;
- }
-
- protected Object getExtensionMBean() throws Exception {
- return null;
- }
-
- protected ObjectName createExtensionMBeanName() throws Exception {
- return this.context.getContext().getMBeanNames().createCustomComponentMBeanName("bootstrap");
- }
-
- /* (non-Javadoc)
- * @see javax.jbi.component.Bootstrap#init(javax.jbi.component.InstallationContext)
- */
- public void init(InstallationContext installContext) throws JBIException {
- try {
- if (logger.isDebugEnabled()) {
- logger.debug("Initializing bootstrap");
- }
- this.context = installContext;
- doInit();
- if (logger.isDebugEnabled()) {
- logger.debug("Bootstrap initialized");
- }
- } catch (JBIException e) {
- throw e;
- } catch (Exception e) {
- throw new JBIException("Error calling init", e);
- }
- }
-
- protected void doInit() throws Exception {
- Object mbean = getExtensionMBean();
- if (mbean != null) {
- this.mbeanName = createExtensionMBeanName();
- MBeanServer server = this.context.getContext().getMBeanServer();
- if (server == null) {
- throw new JBIException("null mBeanServer");
- }
- if (server.isRegistered(this.mbeanName)) {
- server.unregisterMBean(this.mbeanName);
- }
- server.registerMBean(mbean, this.mbeanName);
- }
- }
-
- /* (non-Javadoc)
- * @see javax.jbi.component.Bootstrap#cleanUp()
- */
- public void cleanUp() throws JBIException {
- try {
- if (logger.isDebugEnabled()) {
- logger.debug("Cleaning up bootstrap");
- }
- doCleanUp();
- if (logger.isDebugEnabled()) {
- logger.debug("Bootstrap cleaned up");
- }
- } catch (JBIException e) {
- throw e;
- } catch (Exception e) {
- throw new JBIException("Error calling cleanUp", e);
- }
- }
-
- protected void doCleanUp() throws Exception {
- if (this.mbeanName != null) {
- MBeanServer server = this.context.getContext().getMBeanServer();
- if (server == null) {
- throw new JBIException("null mBeanServer");
- }
- if (server.isRegistered(this.mbeanName)) {
- server.unregisterMBean(this.mbeanName);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see javax.jbi.component.Bootstrap#onInstall()
- */
- public void onInstall() throws JBIException {
- try {
- if (logger.isDebugEnabled()) {
- logger.debug("Bootstrap onInstall");
- }
- doOnInstall();
- if (logger.isDebugEnabled()) {
- logger.debug("Bootstrap onInstall done");
- }
- } catch (JBIException e) {
- throw e;
- } catch (Exception e) {
- throw new JBIException("Error calling onInstall", e);
- }
- }
-
- protected void doOnInstall() throws Exception {
- }
-
- /* (non-Javadoc)
- * @see javax.jbi.component.Bootstrap#onUninstall()
- */
- public void onUninstall() throws JBIException {
- try {
- if (logger.isDebugEnabled()) {
- logger.debug("Bootstrap onUninstall");
- }
- doOnUninstall();
- if (logger.isDebugEnabled()) {
- logger.debug("Bootstrap onUninstall done");
- }
- } catch (JBIException e) {
- throw e;
- } catch (Exception e) {
- throw new JBIException("Error calling onUninstall", e);
- }
- }
-
- protected void doOnUninstall() throws Exception {
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaComponent.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaComponent.java
deleted file mode 100644
index 93470e0707..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaComponent.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca;
-
-import org.apache.servicemix.common.BaseComponent;
-import org.apache.servicemix.common.BaseLifeCycle;
-import org.apache.servicemix.common.BaseServiceUnitManager;
-import org.apache.servicemix.common.Deployer;
-
-public class ScaComponent extends BaseComponent {
-
- /* (non-Javadoc)
- * @see org.servicemix.common.BaseComponent#createLifeCycle()
- */
- protected BaseLifeCycle createLifeCycle() {
- return new ScaLifeCycle(this);
- }
-
- /* (non-Javadoc)
- * @see org.servicemix.common.BaseComponent#createServiceUnitManager()
- */
- public BaseServiceUnitManager createServiceUnitManager() {
- Deployer[] deployers = new Deployer[] { new ScaDeployer(this) };
- return new BaseServiceUnitManager(this, deployers);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaDeployer.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaDeployer.java
deleted file mode 100644
index 199721cb88..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaDeployer.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca;
-
-import java.io.File;
-
-import javax.jbi.management.DeploymentException;
-
-import org.apache.servicemix.common.AbstractDeployer;
-import org.apache.servicemix.common.BaseComponent;
-import org.apache.servicemix.common.ServiceUnit;
-
-public class ScaDeployer extends AbstractDeployer {
-
- public static final String SCA_MODULE_FILE = "sca.module";
-
- public ScaDeployer(BaseComponent component) {
- super(component);
- }
-
- public boolean canDeploy(String serviceUnitName, String serviceUnitRootPath) {
- File module = new File(serviceUnitRootPath, SCA_MODULE_FILE);
- return module.exists() && module.isFile();
- }
-
- public ServiceUnit deploy(String serviceUnitName, String serviceUnitRootPath)
- throws DeploymentException {
- File module = new File(serviceUnitRootPath, SCA_MODULE_FILE);
- if (!module.exists() || !module.isFile()) {
- throw failure("deploy", "No sca.module found", null);
- }
- try {
- ScaServiceUnit su = new ScaServiceUnit();
- su.setComponent(component);
- su.setName(serviceUnitName);
- su.setRootPath(serviceUnitRootPath);
- su.init();
- return su;
- } catch (Exception e) {
- throw failure("deploy", "Error loading sca module", e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaEndpoint.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaEndpoint.java
deleted file mode 100644
index 8da798d26f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaEndpoint.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca;
-
-import java.io.StringWriter;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.UndeclaredThrowableException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.jbi.component.ComponentContext;
-import javax.jbi.messaging.DeliveryChannel;
-import javax.jbi.messaging.ExchangeStatus;
-import javax.jbi.messaging.MessageExchange;
-import javax.jbi.messaging.NormalizedMessage;
-import javax.jbi.messaging.MessageExchange.Role;
-import javax.jbi.servicedesc.ServiceEndpoint;
-import javax.xml.bind.JAXBContext;
-
-import org.apache.servicemix.common.Endpoint;
-import org.apache.servicemix.common.ExchangeProcessor;
-import org.apache.servicemix.jbi.jaxp.StringSource;
-import org.apache.tuscany.core.context.EntryPointContext;
-import org.apache.tuscany.model.assembly.ConfiguredReference;
-import org.apache.tuscany.model.assembly.ConfiguredService;
-import org.apache.tuscany.model.assembly.EntryPoint;
-
-/**
- *
- * @author gnodet
- * @version $Revision$
- * @org.apache.xbean.XBean element="endpoint" description="A sca endpoint"
- *
- */
-public class ScaEndpoint extends Endpoint implements ExchangeProcessor {
-
- protected ServiceEndpoint activated;
-
- protected EntryPoint entryPoint;
-
- protected Map<Class, Method> methodMap;
-
- protected JAXBContext jaxbContext;
-
- protected DeliveryChannel channel;
-
- public ScaEndpoint(EntryPoint entryPoint) {
- this.entryPoint = entryPoint;
- }
-
- public Role getRole() {
- return Role.PROVIDER;
- }
-
- public void activate() throws Exception {
- logger = this.serviceUnit.getComponent().getLogger();
- ComponentContext ctx = this.serviceUnit.getComponent().getComponentContext();
- activated = ctx.activateEndpoint(service, endpoint);
- channel = ctx.getDeliveryChannel();
- // Get the target service
- ConfiguredReference referenceValue = entryPoint.getConfiguredReference();
- ConfiguredService targetServiceEndpoint = referenceValue.getTargetConfiguredServices().get(0);
- // Get the business interface
- Class serviceInterface = targetServiceEndpoint.getService().getServiceContract().getInterface();
- List<Class> classes = new ArrayList<Class>();
- methodMap = new HashMap<Class, Method>();
- for (Method mth : serviceInterface.getMethods()) {
- Class[] params = mth.getParameterTypes();
- if (params.length != 1) {
- throw new IllegalStateException("Supports only methods with one parameter");
- }
- methodMap.put(params[0], mth);
- classes.add(mth.getReturnType());
- classes.add(params[0]);
- }
- jaxbContext = JAXBContext.newInstance(classes.toArray(new Class[0]));
- }
-
- public void deactivate() throws Exception {
- ServiceEndpoint ep = activated;
- activated = null;
- ComponentContext ctx = this.serviceUnit.getComponent().getComponentContext();
- ctx.deactivateEndpoint(ep);
- }
-
- public ExchangeProcessor getProcessor() {
- return this;
- }
-
- public void process(MessageExchange exchange) throws Exception {
- if (exchange.getStatus() == ExchangeStatus.DONE) {
- return;
- } else if (exchange.getStatus() == ExchangeStatus.ERROR) {
- return;
- }
- Object input = jaxbContext.createUnmarshaller().unmarshal(exchange.getMessage("in").getContent());
- Method method = methodMap.get(input.getClass());
- if (method == null) {
- throw new IllegalStateException("Could not determine invoked web method");
- }
- boolean oneWay = method.getReturnType() == null;
- Object output;
- try {
- EntryPointContext entryPointContext = (EntryPointContext) ((ScaServiceUnit) serviceUnit)
- .getTuscanyRuntime().getModuleContext().getContext(entryPoint.getName());
- InvocationHandler handler = (InvocationHandler) entryPointContext.getImplementationInstance();
- output = handler.invoke(null, method, new Object[] { input });
- } catch (UndeclaredThrowableException e) {
- throw e;
- } catch (RuntimeException e) {
- throw e;
- } catch (Error e) {
- throw e;
- } catch (Exception e) {
- throw e;
- } catch (Throwable e) {
- throw new RuntimeException(e);
- }
- if (oneWay) {
- exchange.setStatus(ExchangeStatus.DONE);
- channel.send(exchange);
- } else {
- NormalizedMessage msg = exchange.createMessage();
- exchange.setMessage(msg, "out");
- StringWriter writer = new StringWriter();
- jaxbContext.createMarshaller().marshal(output, writer);
- msg.setContent(new StringSource(writer.toString()));
- channel.send(exchange);
- }
- }
-
- public void start() throws Exception {
- }
-
- public void stop() throws Exception {
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaLifeCycle.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaLifeCycle.java
deleted file mode 100644
index 499459dc71..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaLifeCycle.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca;
-
-import org.apache.servicemix.common.BaseComponent;
-import org.apache.servicemix.common.BaseLifeCycle;
-
-public class ScaLifeCycle extends BaseLifeCycle {
-
- public ScaLifeCycle(BaseComponent component) {
- super(component);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaServiceUnit.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaServiceUnit.java
deleted file mode 100644
index e391edf071..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/ScaServiceUnit.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Iterator;
-
-import javax.wsdl.Definition;
-import javax.wsdl.factory.WSDLFactory;
-
-import org.apache.servicemix.common.ServiceUnit;
-import org.apache.servicemix.sca.assembly.JbiBinding;
-import org.apache.servicemix.sca.tuscany.CommonsLoggingMonitorFactory;
-import org.apache.servicemix.sca.tuscany.TuscanyRuntime;
-import org.apache.tuscany.model.assembly.Binding;
-import org.apache.tuscany.model.assembly.EntryPoint;
-import org.apache.tuscany.model.assembly.Module;
-
-public class ScaServiceUnit extends ServiceUnit {
-
- protected static final ThreadLocal<ScaServiceUnit> SERVICE_UNIT = new ThreadLocal<ScaServiceUnit>();
-
- public static ScaServiceUnit getCurrentScaServiceUnit() {
- return SERVICE_UNIT.get();
- }
-
- protected TuscanyRuntime tuscanyRuntime;
- protected ClassLoader classLoader;
-
- public void init() throws Exception {
- SERVICE_UNIT.set(this);
- createScaRuntime();
- createEndpoints();
- SERVICE_UNIT.set(null);
- }
-
- protected void createScaRuntime() throws Exception {
- File root = new File(getRootPath());
- File[] files = root.listFiles(new JarFileFilter());
- URL[] urls = new URL[files.length + 1];
- for (int i = 0; i < files.length; i++) {
- urls[i] = files[i].toURL();
- }
- urls[urls.length - 1] = root.toURL();
- classLoader = new URLClassLoader(urls, getClass().getClassLoader());
-
- tuscanyRuntime = new TuscanyRuntime(getName(), getRootPath(), classLoader, new CommonsLoggingMonitorFactory());
- }
-
- protected void createEndpoints() throws Exception {
- Module module = tuscanyRuntime.getModuleComponent().getModuleImplementation();
- for (Iterator i = module.getEntryPoints().iterator(); i.hasNext();) {
- EntryPoint entryPoint = (EntryPoint) i.next();
- Binding binding = (Binding) entryPoint.getBindings().get(0);
- if (binding instanceof JbiBinding) {
- JbiBinding jbiBinding = (JbiBinding) binding;
- ScaEndpoint endpoint = new ScaEndpoint(entryPoint);
- endpoint.setServiceUnit(this);
- endpoint.setService(jbiBinding.getServiceName());
- endpoint.setEndpoint(jbiBinding.getEndpointName());
- endpoint.setInterfaceName(jbiBinding.getInterfaceName());
- Definition definition = jbiBinding.getDefinition();
- if (definition != null) {
- endpoint.setDefinition(definition);
- endpoint.setDescription(WSDLFactory.newInstance().newWSDLWriter().getDocument(definition));
- }
- addEndpoint(endpoint);
- }
- }
- }
-
- private static class JarFileFilter implements FilenameFilter {
- public boolean accept(File dir, String name) {
- return name.endsWith(".jar");
- }
- }
-
- public TuscanyRuntime getTuscanyRuntime() {
- return tuscanyRuntime;
- }
-
- @Override
- public void start() throws Exception {
- tuscanyRuntime.start();
- super.start();
- }
-
- @Override
- public void stop() throws Exception {
- super.stop();
- tuscanyRuntime.stop();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/JbiAssemblyFactory.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/JbiAssemblyFactory.java
deleted file mode 100644
index ef7812f175..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/JbiAssemblyFactory.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.assembly;
-
-import org.apache.tuscany.model.assembly.AssemblyFactory;
-
-/**
- * The <b>Factory</b> for the model.
- */
-public interface JbiAssemblyFactory extends AssemblyFactory {
-
- /**
- * Returns a new JbiBinding
- */
- JbiBinding createJbiBinding();
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/JbiBinding.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/JbiBinding.java
deleted file mode 100644
index 8bfbf80590..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/JbiBinding.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.assembly;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.model.assembly.Binding;
-
-public interface JbiBinding extends Binding {
-
- /**
- * Returns the URI of the WSDL port for this binding.
- * @return the URI of the WSDL port for this binding
- */
- String getPortURI();
-
- /**
- * Set the URI of the WSDL port for this binding.
- * @param portURI the URI of the WSDL port
- */
- void setPortURI(String portURI);
-
- /**
- * Returns the service name.
- * @return the service name
- */
- QName getServiceName();
-
- /**
- * Returns the endpoint name.
- * @return the endpoint name
- */
- String getEndpointName();
-
- /**
- * Returns the interface name.
- * @returnthe interface name
- */
- QName getInterfaceName();
-
- /**
- * Returns the WSDL definition containing the WSDL port.
- * @return the WSDL definition containing the WSDL port
- */
- Definition getDefinition();
-
- /**
- * Returns the the WSDL service.
- * @return the WSDL service
- */
- Service getService();
-
- /**
- * Returns the WSDL port defining this binding.
- * @return the WSDL port defining this binding
- */
- Port getPort();
-
- /**
- * Returns the WSDL port type.
- * @return the WSDL port type
- */
- PortType getPortType();
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/impl/JbiAssemblyFactoryImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/impl/JbiAssemblyFactoryImpl.java
deleted file mode 100644
index 4cd6a98689..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/impl/JbiAssemblyFactoryImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.assembly.impl;
-
-import org.apache.servicemix.sca.assembly.JbiAssemblyFactory;
-import org.apache.servicemix.sca.assembly.JbiBinding;
-import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
-
-/**
- * An implementation of the model <b>Factory</b>.
- */
-public class JbiAssemblyFactoryImpl extends AssemblyFactoryImpl implements JbiAssemblyFactory {
-
- /**
- * Creates an instance of the factory.
- */
- public JbiAssemblyFactoryImpl() {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiAssemblyFactory#createJbiBinding()
- */
- public JbiBinding createJbiBinding() {
- return new JbiBindingImpl();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/impl/JbiBindingImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/impl/JbiBindingImpl.java
deleted file mode 100644
index e44b9c6f45..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/assembly/impl/JbiBindingImpl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.assembly.impl;
-
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.xml.namespace.QName;
-
-import org.apache.servicemix.sca.assembly.JbiBinding;
-import org.apache.tuscany.model.assembly.AssemblyModelContext;
-import org.apache.tuscany.model.assembly.impl.BindingImpl;
-
-/**
- * An implementation of the model object '<em><b>Web Service Binding</b></em>'.
- */
-public class JbiBindingImpl extends BindingImpl implements JbiBinding {
-
- private String portURI;
- private QName serviceName;
- private String endpointName;
- private QName interfaceName;
- private Definition definition;
- private Service service;
- private PortType portType;
- private Port port;
-
-
- /**
- * Constructor
- */
- protected JbiBindingImpl() {
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiBinding#getPortURI()
- */
- public String getPortURI() {
- return portURI;
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiBinding#setPortURI(java.lang.String)
- */
- public void setPortURI(String portURI) {
- this.portURI = portURI;
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiBinding#getServiceName()
- */
- public QName getServiceName() {
- return serviceName;
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiBinding#getEndpointName()
- */
- public String getEndpointName() {
- return endpointName;
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiBinding#getInterfaceName()
- */
- public QName getInterfaceName() {
- return interfaceName;
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiBinding#getDefinition()
- */
- public Definition getDefinition() {
- return definition;
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiBinding#getService()
- */
- public Service getService() {
- return service;
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiBinding#getPort()
- */
- public Port getPort() {
- return port;
- }
-
- /* (non-Javadoc)
- * @see org.apache.servicemix.sca.assembly.JbiBinding#getPortType()
- */
- public PortType getPortType() {
- return portType;
- }
-
- /**
- * @see org.apache.tuscany.model.assembly.impl.BindingImpl#initialize(org.apache.tuscany.model.assembly.AssemblyModelContext)
- */
- public void initialize(AssemblyModelContext modelContext) {
- if (isInitialized())
- return;
- super.initialize(modelContext);
-
- // Get the service name and endpoint name
- String[] parts = split(portURI);
- serviceName = new QName(parts[0], parts[1]);
- endpointName = parts[2];
-
- // Load the WSDL definitions for the given namespace
- List<Definition> definitions = modelContext.getAssemblyLoader().loadDefinitions(parts[0]);
- if (definitions != null) {
- for (Definition definition : definitions) {
- Service service = definition.getService(serviceName);
- if (service != null) {
- Port port = service.getPort(endpointName);
- if (port != null) {
- this.service = service;
- this.port = port;
- this.portType = port.getBinding().getPortType();
- this.interfaceName = portType.getQName();
- this.definition = definition;
- return;
- }
- }
- }
- }
- }
-
- protected String[] split(String uri) {
- char sep;
- uri = uri.trim();
- if (uri.indexOf('/') > 0) {
- sep = '/';
- } else {
- sep = ':';
- }
- int idx1 = uri.lastIndexOf(sep);
- int idx2 = uri.lastIndexOf(sep, idx1 - 1);
- String epName = uri.substring(idx1 + 1);
- String svcName = uri.substring(idx2 + 1, idx1);
- String nsUri = uri.substring(0, idx2);
- return new String[] { nsUri, svcName, epName };
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/ExternalJbiServiceBuilder.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/ExternalJbiServiceBuilder.java
deleted file mode 100644
index e5a7b59a75..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/ExternalJbiServiceBuilder.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.builder;
-
-import java.lang.reflect.Method;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.servicemix.sca.assembly.JbiBinding;
-import org.apache.servicemix.sca.config.ExternalJbiServiceContextFactory;
-import org.apache.servicemix.sca.handler.ExternalJbiServiceClient;
-import org.apache.tuscany.core.builder.BuilderException;
-import org.apache.tuscany.core.builder.ContextFactoryBuilder;
-import org.apache.tuscany.core.config.JavaIntrospectionHelper;
-import org.apache.tuscany.core.context.QualifiedName;
-import org.apache.tuscany.core.injection.SingletonObjectFactory;
-import org.apache.tuscany.core.invocation.InvocationConfiguration;
-import org.apache.tuscany.core.invocation.MethodHashMap;
-import org.apache.tuscany.core.invocation.ProxyConfiguration;
-import org.apache.tuscany.core.invocation.impl.InvokerInterceptor;
-import org.apache.tuscany.core.invocation.spi.ProxyFactory;
-import org.apache.tuscany.core.invocation.spi.ProxyFactoryFactory;
-import org.apache.tuscany.core.message.MessageFactory;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.system.annotation.Autowire;
-import org.apache.tuscany.model.assembly.AssemblyModelObject;
-import org.apache.tuscany.model.assembly.ConfiguredService;
-import org.apache.tuscany.model.assembly.ExternalService;
-import org.apache.tuscany.model.assembly.Service;
-import org.apache.tuscany.model.assembly.ServiceContract;
-import org.apache.tuscany.model.scdl.WebServiceBinding;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * Creates a <code>RuntimeConfigurationBuilder</code> for an external service configured with the {@link WebServiceBinding}
- */
-@Scope("MODULE")
-public class ExternalJbiServiceBuilder implements ContextFactoryBuilder {
-
- private RuntimeContext runtimeContext;
-
- private ProxyFactoryFactory proxyFactoryFactory;
-
- private MessageFactory messageFactory;
-
- private ContextFactoryBuilder policyBuilder;
-
- public ExternalJbiServiceBuilder() {
- }
-
- @Init(eager = true)
- public void init() {
- runtimeContext.addBuilder(this);
- }
-
- /**
- * @param runtimeContext The runtimeContext to set.
- */
- @Autowire
- public void setRuntimeContext(RuntimeContext runtimeContext) {
- this.runtimeContext = runtimeContext;
- }
-
- /**
- * Sets the factory used to construct proxies implmementing the business interface required by a reference
- */
- @Autowire
- public void setProxyFactoryFactory(ProxyFactoryFactory factory) {
- this.proxyFactoryFactory = factory;
- }
-
- /**
- * Sets the factory used to construct invocation messages
- *
- * @param msgFactory
- */
- @Autowire
- public void setMessageFactory(MessageFactory msgFactory) {
- this.messageFactory = msgFactory;
- }
-
- /**
- * Sets a builder responsible for creating source-side and target-side invocation chains for a reference. The
- * reference builder may be hierarchical, containing other child reference builders that operate on specific
- * metadata used to construct and invocation chain.
- *
- * @see org.apache.tuscany.core.builder.impl.HierarchicalBuilder
- */
- public void setPolicyBuilder(ContextFactoryBuilder builder) {
- policyBuilder = builder;
- }
-
- public void build(AssemblyModelObject object) throws BuilderException {
- if (!(object instanceof ExternalService)) {
- return;
- }
- ExternalService externalService = (ExternalService) object;
- if (externalService.getBindings().size() < 1 || !(externalService.getBindings().get(0) instanceof JbiBinding)) {
- return;
- }
-
- ExternalJbiServiceClient externalJbiServiceClient = new ExternalJbiServiceClient(externalService);
- ExternalJbiServiceContextFactory config = new ExternalJbiServiceContextFactory(externalService.getName(), new SingletonObjectFactory<ExternalJbiServiceClient>(externalJbiServiceClient));
-
- ConfiguredService configuredService = externalService.getConfiguredService();
- Service service = configuredService.getService();
- ServiceContract serviceContract = service.getServiceContract();
- Map<Method, InvocationConfiguration> iConfigMap = new MethodHashMap();
- ProxyFactory proxyFactory = proxyFactoryFactory.createProxyFactory();
- Set<Method> javaMethods = JavaIntrospectionHelper.getAllUniqueMethods(serviceContract.getInterface());
- for (Method method : javaMethods) {
- InvocationConfiguration iConfig = new InvocationConfiguration(method);
- iConfigMap.put(method, iConfig);
- }
- QualifiedName qName = new QualifiedName(externalService.getName() + "/" + service.getName());
- ProxyConfiguration pConfiguration = new ProxyConfiguration(qName, iConfigMap, serviceContract.getInterface().getClassLoader(), messageFactory);
- proxyFactory.setBusinessInterface(serviceContract.getInterface());
- proxyFactory.setProxyConfiguration(pConfiguration);
- config.addTargetProxyFactory(service.getName(), proxyFactory);
- configuredService.setProxyFactory(proxyFactory);
- if (policyBuilder != null) {
- // invoke the reference builder to handle additional policy metadata
- policyBuilder.build(configuredService);
- }
- // add tail interceptor
- for (InvocationConfiguration iConfig : (Collection<InvocationConfiguration>) iConfigMap.values()) {
- iConfig.addTargetInterceptor(new InvokerInterceptor());
- }
-
- externalService.getConfiguredService().setContextFactory(config);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/ExternalJbiServiceWireBuilder.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/ExternalJbiServiceWireBuilder.java
deleted file mode 100644
index 1dc7d9f454..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/ExternalJbiServiceWireBuilder.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.builder;
-
-import org.apache.servicemix.sca.config.ExternalJbiServiceContextFactory;
-import org.apache.servicemix.sca.handler.ExternalJbiServiceTargetInvoker;
-import org.apache.tuscany.core.builder.BuilderConfigException;
-import org.apache.tuscany.core.builder.WireBuilder;
-import org.apache.tuscany.core.context.ScopeContext;
-import org.apache.tuscany.core.invocation.InvocationConfiguration;
-import org.apache.tuscany.core.invocation.spi.ProxyFactory;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.system.annotation.Autowire;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Scope;
-
-@Scope("MODULE")
-public class ExternalJbiServiceWireBuilder implements WireBuilder {
-
- private RuntimeContext runtimeContext;
-
- /**
- * Constructs a new ExternalWebServiceWireBuilder.
- */
- public ExternalJbiServiceWireBuilder() {
- super();
- }
-
- @Autowire
- public void setRuntimeContext(RuntimeContext context) {
- runtimeContext = context;
- }
-
- @Init(eager=true)
- public void init() {
- runtimeContext.addBuilder(this);
- }
-
- public void connect(ProxyFactory sourceFactory, ProxyFactory targetFactory, Class targetType, boolean downScope, ScopeContext targetScopeContext) throws BuilderConfigException {
- if (!(ExternalJbiServiceContextFactory.class.isAssignableFrom(targetType))) {
- return;
- }
- for (InvocationConfiguration sourceInvocationConfig : sourceFactory.getProxyConfiguration().getInvocationConfigurations().values()) {
- ExternalJbiServiceTargetInvoker invoker = new ExternalJbiServiceTargetInvoker(sourceFactory.getProxyConfiguration().getTargetName(), sourceInvocationConfig.getMethod(), targetScopeContext);
- sourceInvocationConfig.setTargetInvoker(invoker);
- }
- }
-
- public void completeTargetChain(ProxyFactory targetFactory, Class targetType, ScopeContext targetScopeContext)
- throws BuilderConfigException {
- //TODO implement
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/JbiServiceEntryPointBuilder.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/JbiServiceEntryPointBuilder.java
deleted file mode 100644
index af83c7c714..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/builder/JbiServiceEntryPointBuilder.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.builder;
-
-import java.lang.reflect.Method;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.servicemix.sca.assembly.JbiBinding;
-import org.apache.servicemix.sca.config.JbiServiceEntryPointContextFactory;
-import org.apache.tuscany.core.builder.BuilderException;
-import org.apache.tuscany.core.builder.ContextFactoryBuilder;
-import org.apache.tuscany.core.builder.impl.EntryPointContextFactory;
-import org.apache.tuscany.core.config.JavaIntrospectionHelper;
-import org.apache.tuscany.core.context.AggregateContext;
-import org.apache.tuscany.core.context.QualifiedName;
-import org.apache.tuscany.core.invocation.Interceptor;
-import org.apache.tuscany.core.invocation.InvocationConfiguration;
-import org.apache.tuscany.core.invocation.InvocationRuntimeException;
-import org.apache.tuscany.core.invocation.ProxyConfiguration;
-import org.apache.tuscany.core.invocation.TargetInvoker;
-import org.apache.tuscany.core.invocation.spi.ProxyFactory;
-import org.apache.tuscany.core.invocation.spi.ProxyFactoryFactory;
-import org.apache.tuscany.core.message.Message;
-import org.apache.tuscany.core.message.MessageFactory;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.system.annotation.Autowire;
-import org.apache.tuscany.model.assembly.AssemblyModelObject;
-import org.apache.tuscany.model.assembly.ConfiguredService;
-import org.apache.tuscany.model.assembly.EntryPoint;
-import org.apache.tuscany.model.assembly.Service;
-import org.apache.tuscany.model.assembly.ServiceContract;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Scope;
-
-@Scope("MODULE")
-public class JbiServiceEntryPointBuilder implements ContextFactoryBuilder<AggregateContext> {
-
- private RuntimeContext runtimeContext;
-
- private ProxyFactoryFactory proxyFactoryFactory;
-
- private MessageFactory messageFactory;
-
- private ContextFactoryBuilder policyBuilder;
-
- public JbiServiceEntryPointBuilder() {
- }
-
- @Init(eager = true)
- public void init() {
- runtimeContext.addBuilder(this);
- }
-
- /**
- * @param runtimeContext The runtimeContext to set.
- */
- @Autowire
- public void setRuntimeContext(RuntimeContext runtimeContext) {
- this.runtimeContext = runtimeContext;
- }
-
- /**
- * Sets the factory used to construct proxies implmementing the business interface required by a reference
- */
- @Autowire
- public void setProxyFactoryFactory(ProxyFactoryFactory factory) {
- this.proxyFactoryFactory = factory;
- }
-
- /**
- * Sets the factory used to construct invocation messages
- *
- * @param msgFactory
- */
- @Autowire
- public void setMessageFactory(MessageFactory msgFactory) {
- this.messageFactory = msgFactory;
- }
-
- /**
- * Sets a builder responsible for creating source-side and target-side invocation chains for a reference. The
- * reference builder may be hierarchical, containing other child reference builders that operate on specific
- * metadata used to construct and invocation chain.
- *
- * @see org.apache.tuscany.core.builder.impl.HierarchicalBuilder
- */
- public void setPolicyBuilder(ContextFactoryBuilder builder) {
- policyBuilder = builder;
- }
-
- public void build(AssemblyModelObject object) throws BuilderException {
- if (!(object instanceof EntryPoint)) {
- return;
- }
- EntryPoint entryPoint = (EntryPoint) object;
- if (entryPoint.getBindings().size() < 1 || !(entryPoint.getBindings().get(0) instanceof JbiBinding)) {
- return;
- }
-
- EntryPointContextFactory config = new JbiServiceEntryPointContextFactory(entryPoint.getName(), entryPoint.getConfiguredService().getService().getName(), messageFactory);
-
- ConfiguredService configuredService = entryPoint.getConfiguredService();
- Service service = configuredService.getService();
- ServiceContract serviceContract = service.getServiceContract();
- Map<Method, InvocationConfiguration> iConfigMap = new HashMap<Method, InvocationConfiguration>();
- ProxyFactory proxyFactory = proxyFactoryFactory.createProxyFactory();
- Set<Method> javaMethods = JavaIntrospectionHelper.getAllUniqueMethods(serviceContract.getInterface());
- for (Method method : javaMethods) {
- InvocationConfiguration iConfig = new InvocationConfiguration(method);
- iConfigMap.put(method, iConfig);
- }
- QualifiedName qName = new QualifiedName(entryPoint.getConfiguredReference().getTargetConfiguredServices().get(0).getAggregatePart().getName() + "/" + service.getName());
- ProxyConfiguration pConfiguration = new ProxyConfiguration(qName, iConfigMap, serviceContract.getInterface().getClassLoader(), messageFactory);
- proxyFactory.setBusinessInterface(serviceContract.getInterface());
- proxyFactory.setProxyConfiguration(pConfiguration);
- config.addSourceProxyFactory(service.getName(), proxyFactory);
- configuredService.setProxyFactory(proxyFactory);
- if (policyBuilder != null) {
- // invoke the reference builder to handle additional policy metadata
- policyBuilder.build(configuredService);
- }
- // add tail interceptor
- for (InvocationConfiguration iConfig : (Collection<InvocationConfiguration>) iConfigMap.values()) {
- iConfig.addTargetInterceptor(new EntryPointInvokerInterceptor());
- }
- entryPoint.getConfiguredReference().setContextFactory(config);
- }
-
- //FIXME same as the InvokerInterceptor except that it doesn't throw an exception in setNext
- // For some reason another InvokerInterceptor is added after this one, need Jim to look into it
- // and figure out why.
- public class EntryPointInvokerInterceptor implements Interceptor {
-
- public EntryPointInvokerInterceptor() {
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- TargetInvoker invoker = msg.getTargetInvoker();
- if (invoker == null) {
- throw new InvocationRuntimeException("No target invoker specified on message");
- }
- return invoker.invoke(msg);
- }
-
- public void setNext(Interceptor next) {
- }
-
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/config/ExternalJbiServiceContextFactory.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/config/ExternalJbiServiceContextFactory.java
deleted file mode 100644
index 93b846db8a..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/config/ExternalJbiServiceContextFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.config;
-
-import org.apache.tuscany.core.builder.ObjectFactory;
-import org.apache.tuscany.core.builder.impl.BaseExternalServiceContextFactory;
-
-public class ExternalJbiServiceContextFactory extends BaseExternalServiceContextFactory {
-
- public ExternalJbiServiceContextFactory(String name, ObjectFactory objectFactory) {
- super(name, objectFactory);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/config/JbiServiceEntryPointContextFactory.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/config/JbiServiceEntryPointContextFactory.java
deleted file mode 100644
index b6adb6481d..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/config/JbiServiceEntryPointContextFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.config;
-
-import org.apache.tuscany.core.builder.impl.EntryPointContextFactory;
-import org.apache.tuscany.core.message.MessageFactory;
-
-public class JbiServiceEntryPointContextFactory extends EntryPointContextFactory {
-
- public JbiServiceEntryPointContextFactory(String name, String referenceName, MessageFactory msgFactory) {
- super(name, referenceName, msgFactory);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/handler/ExternalJbiServiceClient.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/handler/ExternalJbiServiceClient.java
deleted file mode 100644
index 22b457687f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/handler/ExternalJbiServiceClient.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.handler;
-
-import java.io.ByteArrayOutputStream;
-import java.lang.reflect.Method;
-
-import javax.jbi.messaging.DeliveryChannel;
-import javax.jbi.messaging.ExchangeStatus;
-import javax.jbi.messaging.InOut;
-import javax.jbi.messaging.NormalizedMessage;
-import javax.xml.bind.JAXBContext;
-
-import org.apache.servicemix.jbi.jaxp.StringSource;
-import org.apache.servicemix.sca.ScaServiceUnit;
-import org.apache.servicemix.sca.assembly.JbiBinding;
-import org.apache.tuscany.model.assembly.ExternalService;
-
-public class ExternalJbiServiceClient {
-
- private ExternalService externalService;
-
- private JbiBinding jbiBinding;
-
- private ScaServiceUnit serviceUnit;
-
- /**
- * Constructs a new ExternalWebServiceClient.
- *
- * @param externalService
- * @param wsBinding
- */
- public ExternalJbiServiceClient(ExternalService externalService) {
- this.serviceUnit = ScaServiceUnit.getCurrentScaServiceUnit();
- this.externalService = externalService;
- this.jbiBinding = (JbiBinding) this.externalService.getBindings().get(0);
- }
-
- /**
- * Invoke an operation on the external Web service.
- *
- * @param method
- * @param args
- * @return
- */
- public Object invoke(Method method, Object[] args) {
- if (args == null || args.length != 1) {
- throw new IllegalStateException("args should have exactly one object");
- }
- try {
- Object payload = args[0];
- Class inputClass = method.getParameterTypes()[0];
- Class outputClass = method.getReturnType();
- JAXBContext context = JAXBContext.newInstance(inputClass, outputClass);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- context.createMarshaller().marshal(payload, baos);
-
- DeliveryChannel channel = serviceUnit.getComponent().getComponentContext().getDeliveryChannel();
- // TODO: in-only case ?
- // TODO: interface based routing ?
- // TODO: explicit endpoint selection ?
- InOut inout = channel.createExchangeFactory().createInOutExchange();
- inout.setService(jbiBinding.getServiceName());
- NormalizedMessage in = inout.createMessage();
- inout.setInMessage(in);
- in.setContent(new StringSource(baos.toString()));
- boolean sent = channel.sendSync(inout);
- // TODO: check for error ?
- NormalizedMessage out = inout.getOutMessage();
- Object response = context.createUnmarshaller().unmarshal(out.getContent());
- inout.setStatus(ExchangeStatus.DONE);
- channel.send(inout);
- return response;
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/handler/ExternalJbiServiceTargetInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/handler/ExternalJbiServiceTargetInvoker.java
deleted file mode 100644
index cd0560c5b5..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/handler/ExternalJbiServiceTargetInvoker.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.handler;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.apache.tuscany.core.context.ExternalServiceContext;
-import org.apache.tuscany.core.context.InstanceContext;
-import org.apache.tuscany.core.context.QualifiedName;
-import org.apache.tuscany.core.context.ScopeContext;
-import org.apache.tuscany.core.context.TargetException;
-import org.apache.tuscany.core.invocation.Interceptor;
-import org.apache.tuscany.core.invocation.TargetInvoker;
-import org.apache.tuscany.core.message.Message;
-
-public class ExternalJbiServiceTargetInvoker implements TargetInvoker {
-
- private QualifiedName serviceName;
- private String esName;
- private Method method;
- private ScopeContext container;
-
- private ExternalServiceContext context;
-
- /**
- * Constructs a new ExternalJbiServiceTargetInvoker.
- * @param esName
- * @param container
- */
- public ExternalJbiServiceTargetInvoker(QualifiedName serviceName, Method method, ScopeContext container) {
- assert (serviceName != null) : "No service name specified";
- assert (method != null) : "No method specified";
- assert (container != null) : "No scope container specified";
- this.serviceName = serviceName;
- this.esName = serviceName.getPartName();
- this.method = method;
- this.container = container;
- }
-
- public Object invokeTarget(Object payload) throws InvocationTargetException {
- if (context == null) {
- InstanceContext iContext = container.getContext(esName);
- if (!(iContext instanceof ExternalServiceContext)) {
- TargetException te = new TargetException("Unexpected target context type");
- te.setIdentifier(iContext.getClass().getName());
- te.addContextName(iContext.getName());
- throw te;
- }
- context = (ExternalServiceContext) iContext;
- }
- ExternalJbiServiceClient client = (ExternalJbiServiceClient) context.getImplementationInstance(true);
- if (payload != null) {
- return client.invoke(method, (Object[])payload);
- } else {
- return client.invoke(method, null);
- }
- }
-
- public boolean isCacheable() {
- return false;
- }
-
- public Message invoke(Message msg) {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBody(e.getCause());
- } catch (Throwable e) {
- msg.setBody(e);
- }
- return msg;
- }
-
- public void setNext(Interceptor next) {
- throw new UnsupportedOperationException();
- }
-
- public Object clone() {
- try {
- ExternalJbiServiceTargetInvoker invoker = (ExternalJbiServiceTargetInvoker) super.clone();
- invoker.container = container;
- invoker.context = this.context;
- invoker.esName = this.esName;
- invoker.method = this.method;
- invoker.serviceName = this.serviceName;
- return invoker;
- } catch (CloneNotSupportedException e) {
- return null; // will not happen
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/loader/JbiBindingLoader.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/loader/JbiBindingLoader.java
deleted file mode 100644
index ac67433720..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/loader/JbiBindingLoader.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.loader;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.servicemix.sca.assembly.JbiAssemblyFactory;
-import org.apache.servicemix.sca.assembly.JbiBinding;
-import org.apache.servicemix.sca.assembly.impl.JbiAssemblyFactoryImpl;
-import org.apache.tuscany.common.resource.ResourceLoader;
-import org.apache.tuscany.core.config.ConfigurationLoadException;
-import org.apache.tuscany.core.loader.StAXElementLoader;
-import org.apache.tuscany.core.loader.StAXLoaderRegistry;
-import org.apache.tuscany.core.system.annotation.Autowire;
-import org.osoa.sca.annotations.Destroy;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Scope;
-
-@Scope("MODULE")
-public class JbiBindingLoader implements StAXElementLoader<JbiBinding>{
-
- public static final QName BINDING_JBI = new QName("http://www.osoa.org/xmlns/sca/0.9", "binding.jbi");
-
- private static final JbiAssemblyFactory jbiFactory = new JbiAssemblyFactoryImpl();
-
- private StAXLoaderRegistry registry;
-
- @Autowire
- public void setRegistry(StAXLoaderRegistry registry) {
- this.registry = registry;
- }
-
- @Init(eager = true)
- public void start() {
- registry.registerLoader(this);
- }
-
- @Destroy
- public void stop() {
- registry.unregisterLoader(this);
- }
-
- public QName getXMLType() {
- return BINDING_JBI;
- }
-
- public Class<JbiBinding> getModelType() {
- return JbiBinding.class;
- }
-
- public JbiBinding load(XMLStreamReader reader, ResourceLoader resourceLoader) throws XMLStreamException, ConfigurationLoadException {
- JbiBinding binding = jbiFactory.createJbiBinding();
- binding.setURI(reader.getAttributeValue(null, "uri"));
- binding.setPortURI(reader.getAttributeValue(null, "port"));
- return binding;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/BootstrapHelper.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/BootstrapHelper.java
deleted file mode 100644
index 154afe4377..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/BootstrapHelper.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.tuscany;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.stream.XMLInputFactory;
-
-import org.apache.tuscany.common.resource.ResourceLoader;
-import org.apache.tuscany.common.resource.impl.ResourceLoaderImpl;
-import org.apache.tuscany.core.builder.ContextFactoryBuilder;
-import org.apache.tuscany.core.config.ConfigurationException;
-import org.apache.tuscany.core.config.ModuleComponentConfigurationLoader;
-import org.apache.tuscany.core.config.impl.ModuleComponentConfigurationLoaderImpl;
-import org.apache.tuscany.core.config.impl.StAXModuleComponentConfigurationLoaderImpl;
-import org.apache.tuscany.core.context.AggregateContext;
-import org.apache.tuscany.core.context.EventContext;
-import org.apache.tuscany.core.context.SystemAggregateContext;
-import org.apache.tuscany.core.loader.StAXLoaderRegistry;
-import org.apache.tuscany.core.loader.StAXUtil;
-import org.apache.tuscany.core.system.assembly.impl.SystemAssemblyFactoryImpl;
-import org.apache.tuscany.core.system.builder.SystemContextFactoryBuilder;
-import org.apache.tuscany.core.system.builder.SystemEntryPointBuilder;
-import org.apache.tuscany.core.system.builder.SystemExternalServiceBuilder;
-import org.apache.tuscany.core.system.loader.SystemSCDLModelLoader;
-import org.apache.tuscany.model.assembly.AssemblyFactory;
-import org.apache.tuscany.model.assembly.AssemblyModelContext;
-import org.apache.tuscany.model.assembly.ModuleComponent;
-import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
-import org.apache.tuscany.model.assembly.loader.AssemblyModelLoader;
-import org.apache.tuscany.model.scdl.loader.SCDLModelLoader;
-import org.apache.tuscany.model.scdl.loader.impl.SCDLAssemblyModelLoaderImpl;
-
-public class BootstrapHelper {
-
- /**
- * Returns a default AssemblyModelContext.
- *
- * @param classLoader the classloader to use for application artifacts
- * @return a default AssemblyModelContext
- */
- public static AssemblyModelContext getModelContext(ClassLoader classLoader) {
- // Create an assembly model factory
- AssemblyFactory modelFactory = new SystemAssemblyFactoryImpl();
-
- // Create a default assembly model loader
- List<SCDLModelLoader> scdlLoaders = new ArrayList<SCDLModelLoader>();
- scdlLoaders.add(new SystemSCDLModelLoader());
- AssemblyModelLoader modelLoader = new SCDLAssemblyModelLoaderImpl(scdlLoaders);
-
- // Create a resource loader from the supplied classloader
- ResourceLoader resourceLoader = new ResourceLoaderImpl(classLoader);
-
- // Create an assembly model context
- return new AssemblyModelContextImpl(modelFactory, modelLoader, resourceLoader);
- }
-
- /**
- * Returns a default list of configuration builders.
- *
- * @return a default list of configuration builders
- */
- public static List<ContextFactoryBuilder> getBuilders() {
- List<ContextFactoryBuilder> configBuilders = new ArrayList<ContextFactoryBuilder>();
- configBuilders.add((new SystemContextFactoryBuilder()));
- configBuilders.add(new SystemEntryPointBuilder());
- configBuilders.add(new SystemExternalServiceBuilder());
- return configBuilders;
- }
-
- private static final boolean useStax = true;
- private static final String SYSTEM_LOADER_COMPONENT = "tuscany.loader";
-
- /**
- * Returns the default module configuration loader.
- *
- * @param systemContext the runtime's system context
- * @param modelContext the model context the loader will use
- * @return the default module configuration loader
- */
- public static ModuleComponentConfigurationLoader getConfigurationLoader(SystemAggregateContext systemContext, AssemblyModelContext modelContext) throws ConfigurationException {
- if (useStax) {
- // Bootstrap the StAX loader module
- bootstrapStaxLoader(systemContext, modelContext);
- return new StAXModuleComponentConfigurationLoaderImpl(modelContext, XMLInputFactory.newInstance(), systemContext.resolveInstance(StAXLoaderRegistry.class));
- } else {
- return new ModuleComponentConfigurationLoaderImpl(modelContext);
- }
- }
-
- private static AggregateContext bootstrapStaxLoader(SystemAggregateContext systemContext, AssemblyModelContext modelContext) throws ConfigurationException {
- AggregateContext loaderContext = (AggregateContext) systemContext.getContext(SYSTEM_LOADER_COMPONENT);
- if (loaderContext == null) {
- ModuleComponent loaderComponent = StAXUtil.bootstrapLoader(SYSTEM_LOADER_COMPONENT, modelContext);
- loaderContext = registerModule(systemContext, loaderComponent);
- loaderContext.fireEvent(EventContext.MODULE_START, null);
- }
- return loaderContext;
- }
-
- public static AggregateContext registerModule(AggregateContext parent, ModuleComponent component) throws ConfigurationException {
- // register the component
- parent.registerModelObject(component);
-
- // Get the aggregate context representing the component
- return (AggregateContext) parent.getContext(component.getName());
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/CommonsLoggingMonitorFactory.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/CommonsLoggingMonitorFactory.java
deleted file mode 100644
index 04bcc0bcea..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/CommonsLoggingMonitorFactory.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.tuscany;
-
-import java.lang.ref.WeakReference;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.Map;
-import java.util.WeakHashMap;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.tuscany.common.monitor.MonitorFactory;
-
-public class CommonsLoggingMonitorFactory implements MonitorFactory {
-
- private final Map<Class<?>, WeakReference<?>> proxies = new WeakHashMap<Class<?>, WeakReference<?>>();
-
- public CommonsLoggingMonitorFactory() {
- }
-
- public <T> T getMonitor(Class<T> monitorInterface) {
- T proxy = getCachedMonitor(monitorInterface);
- if (proxy == null) {
- proxy = createMonitor(monitorInterface);
- proxies.put(monitorInterface, new WeakReference<T>(proxy));
- }
- return proxy;
- }
-
- private <T>T getCachedMonitor(Class<T> monitorInterface) {
- WeakReference<T> ref = (WeakReference<T>) proxies.get(monitorInterface);
- return (ref != null) ? ref.get() : null;
- }
-
- private <T>T createMonitor(Class<T> monitorInterface) {
- String className = monitorInterface.getName();
- Log logger = LogFactory.getLog(className);
- InvocationHandler handler = new LoggingHandler(logger);
- return (T) Proxy.newProxyInstance(monitorInterface.getClassLoader(), new Class<?>[]{monitorInterface}, handler);
- }
-
- private static final class LoggingHandler implements InvocationHandler {
- private final Log logger;
-
- public LoggingHandler(Log logger) {
- this.logger = logger;
- }
-
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- String sourceMethod = method.getName();
- if (logger.isDebugEnabled()) {
- // if the only argument is a Throwable use the special logger for it
- if (args != null && args.length == 1 && args[0] instanceof Throwable) {
- logger.debug(sourceMethod, (Throwable) args[0]);
- } else {
- StringBuilder sb = new StringBuilder();
- sb.append(sourceMethod);
- sb.append("(");
- for (int i = 0; i < args.length; i++) {
- if (i > 0) {
- sb.append(", ");
- }
- sb.append(args[i]);
- }
- sb.append(")");
- logger.debug(sb.toString());
- }
- }
- return null;
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/TuscanyRuntime.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/TuscanyRuntime.java
deleted file mode 100644
index ee5960dfb5..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/servicemix/sca/tuscany/TuscanyRuntime.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.tuscany;
-
-import java.util.List;
-
-import org.apache.tuscany.common.monitor.MonitorFactory;
-import org.apache.tuscany.common.monitor.impl.NullMonitorFactory;
-import org.apache.tuscany.core.builder.ContextFactoryBuilder;
-import org.apache.tuscany.core.builder.impl.DefaultWireBuilder;
-import org.apache.tuscany.core.config.ConfigurationException;
-import org.apache.tuscany.core.config.ModuleComponentConfigurationLoader;
-import org.apache.tuscany.core.context.AggregateContext;
-import org.apache.tuscany.core.context.CoreRuntimeException;
-import org.apache.tuscany.core.context.EventContext;
-import org.apache.tuscany.core.context.SystemAggregateContext;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.runtime.RuntimeContextImpl;
-import org.apache.tuscany.model.assembly.AssemblyModelContext;
-import org.apache.tuscany.model.assembly.ModuleComponent;
-import org.apache.tuscany.model.scdl.loader.SCDLModelLoader;
-import org.osoa.sca.ModuleContext;
-import org.osoa.sca.SCA;
-import org.osoa.sca.ServiceRuntimeException;
-
-public class TuscanyRuntime extends SCA {
- private final TuscanyRuntime.Monitor monitor;
- private final Object sessionKey = new Object();
-
- private final RuntimeContext runtime;
- private final AggregateContext moduleContext;
-
- private final ModuleComponent moduleComponent;
-
- private static final String SYSTEM_MODULE_COMPONENT = "org.apache.tuscany.core.system";
-
- /**
- * Construct a runtime using a null MonitorFactory.
- *
- * @param name the name of the module component
- * @param uri the URI to assign to the module component
- * @throws ConfigurationException if there was a problem loading the SCA configuration
- * @see TuscanyRuntime#TuscanyRuntime(String, String, org.apache.tuscany.common.monitor.MonitorFactory)
- */
- public TuscanyRuntime(String name, String uri) throws ConfigurationException {
- this(name, uri,
- Thread.currentThread().getContextClassLoader(),
- new NullMonitorFactory());
- }
-
- /**
- * Construct a runtime containing a single module component with the
- * specified name. The module definition is loaded from a "/sca.module"
- * resource found on the classpath of the current Thread context classloader.
- *
- * @param name the name of the module component
- * @param uri the URI to assign to the module component
- * @param classLoader the class loader to use for the assembly
- * @param monitorFactory the MonitorFactory for this runtime
- * @throws ConfigurationException if there was a problem loading the SCA configuration
- */
- public TuscanyRuntime(String name, String uri, ClassLoader classLoader, MonitorFactory monitorFactory) throws ConfigurationException {
- this.monitor = monitorFactory.getMonitor(TuscanyRuntime.Monitor.class);
-
- // Create an assembly model context
- AssemblyModelContext modelContext = BootstrapHelper.getModelContext(classLoader);
-
- // Create a runtime context and start it
- List<SCDLModelLoader> loaders = modelContext.getAssemblyLoader().getLoaders();
- List<ContextFactoryBuilder> configBuilders = BootstrapHelper.getBuilders();
- runtime = new RuntimeContextImpl(monitorFactory, loaders, configBuilders, new DefaultWireBuilder());
- runtime.start();
- monitor.started(runtime);
-
- // Load and start the system configuration
- SystemAggregateContext systemContext = runtime.getSystemContext();
- ModuleComponentConfigurationLoader loader = BootstrapHelper.getConfigurationLoader(systemContext, modelContext);
- ModuleComponent systemModuleComponent = loader.loadSystemModuleComponent(SYSTEM_MODULE_COMPONENT, SYSTEM_MODULE_COMPONENT);
- AggregateContext context = BootstrapHelper.registerModule(systemContext, systemModuleComponent);
- context.fireEvent(EventContext.MODULE_START, null);
-
- // Load the SCDL configuration of the application module
- AggregateContext rootContext = runtime.getRootContext();
- moduleComponent = loader.loadModuleComponent(name, uri);
- moduleContext = BootstrapHelper.registerModule(rootContext, moduleComponent);
- }
-
- public ModuleComponent getModuleComponent() {
- return moduleComponent;
- }
-
- public AggregateContext getModuleContext() {
- return moduleContext;
- }
-
- /**
- * Start the runtime and associate the module context with the calling thread.
- */
- @Override
- public void start() {
- setModuleContext((ModuleContext) moduleContext);
- try {
- //moduleContext.start();
- moduleContext.fireEvent(EventContext.MODULE_START, null);
- moduleContext.fireEvent(EventContext.REQUEST_START, null);
- moduleContext.fireEvent(EventContext.SESSION_NOTIFY, sessionKey);
- monitor.started(moduleContext);
- } catch (CoreRuntimeException e) {
- setModuleContext(null);
- monitor.startFailed(moduleContext, e);
- //FIXME throw a better exception
- throw new ServiceRuntimeException(e);
- }
- }
-
- /**
- * Disassociate the module context from the current thread and shut down the runtime.
- */
- @Override
- public void stop() {
- setModuleContext(null);
- moduleContext.fireEvent(EventContext.REQUEST_END, null);
- moduleContext.fireEvent(EventContext.SESSION_END, sessionKey);
- moduleContext.fireEvent(EventContext.MODULE_STOP, null);
- moduleContext.stop();
- monitor.stopped(moduleContext);
- runtime.stop();
- monitor.stopped(runtime);
- }
-
- /**
- * Monitor interface for a TuscanyRuntime.
- */
- public static interface Monitor {
- /**
- * Event emitted after the runtime has been started.
- *
- * @param ctx the runtime's module component context
- */
- void started(AggregateContext ctx);
-
- /**
- * Event emitted when an attempt to start the runtime failed.
- *
- * @param ctx the runtime's module component context
- * @param e the exception that caused the failure
- */
- void startFailed(AggregateContext ctx, CoreRuntimeException e);
-
- /**
- * Event emitted after the runtime has been stopped.
- *
- * @param ctx the runtime's module component context
- */
- void stopped(AggregateContext ctx);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/JBIBinding.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/JBIBinding.java
deleted file mode 100644
index 04781d6d69..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/JBIBinding.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.servicemix;
-
-import org.apache.tuscany.spi.model.Binding;
-
-/**
- * Represents a JBI binding
- */
-public class JBIBinding extends Binding {
-
- private String uri;
-
- private String port;
-
- public String getPort() {
- return port;
- }
-
- public void setPort(String port) {
- this.port = port;
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/JBIBindingLoader.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/JBIBindingLoader.java
deleted file mode 100644
index 8b6806a731..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/JBIBindingLoader.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.servicemix;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * Loader for handling <binding.jbi> elements.
- */
-@Scope("MODULE")
-public class JBIBindingLoader extends LoaderExtension<JBIBinding> {
-
- public static final QName BINDING_JBI = new QName("http://tuscany.apache.org/xmlns/binding/rmi/1.0-SNAPSHOT", "binding.jbi");
-
- public JBIBindingLoader(@Autowire LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return BINDING_JBI;
- }
-
- public JBIBinding load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext) throws XMLStreamException,
- LoaderException {
-
- String port = reader.getAttributeValue(null, "port");
- String uri = reader.getAttributeValue(null, "uri");
- LoaderUtil.skipToEndElement(reader);
-
- JBIBinding binding = new JBIBinding();
- binding.setPort(port);
- binding.setURI(uri);
-
- return binding;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixBuilder.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixBuilder.java
deleted file mode 100644
index 227d56d0b7..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixBuilder.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing pejbissions and limitations
- * under the License.
- */
-package org.apache.tuscany.servicemix;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-
-/**
- * Builds a Service or Reference for a JBI binding.
- */
-public class ServiceMixBuilder extends BindingBuilderExtension<JBIBinding> {
-
- protected Class<JBIBinding> getBindingType() {
- return JBIBinding.class;
- }
-
- @SuppressWarnings( { "unchecked" })
- public SCAObject build(CompositeComponent parent, BoundServiceDefinition<JBIBinding> boundServiceDefinition, DeploymentContext deploymentContext) {
-
- String name = boundServiceDefinition.getName();
-
- ServiceMixService serviceMixService = new ServiceMixService(name, parent, wireService, null);
-
- return serviceMixService;
- }
-
- @SuppressWarnings( { "unchecked" })
- public ServiceMixReference build(CompositeComponent parent, BoundReferenceDefinition<JBIBinding> boundReferenceDefinition,
- DeploymentContext deploymentContext) {
-
-
- ServiceMixReference serviceMixReference = new ServiceMixReference(null, parent, wireService, null, null);
-
- return serviceMixReference;
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixInvoker.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixInvoker.java
deleted file mode 100644
index 5ad2aae7b5..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixInvoker.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.servicemix;
-
-import java.lang.reflect.InvocationTargetException;
-
-import javax.jbi.messaging.DeliveryChannel;
-import javax.jbi.messaging.ExchangeStatus;
-import javax.jbi.messaging.InOut;
-import javax.jbi.messaging.MessagingException;
-import javax.jbi.messaging.NormalizedMessage;
-import javax.xml.namespace.QName;
-
-import org.apache.servicemix.jbi.jaxp.StringSource;
-import org.apache.servicemix.sca.ScaServiceUnit;
-import org.apache.tuscany.spi.extension.TargetInvokerExtension;
-
-/**
- * Invoke a JBI reference.
- */
-public class ServiceMixInvoker extends TargetInvokerExtension {
-
- private QName serviceName;
-
- private ScaServiceUnit serviceUnit;
-
- public ServiceMixInvoker(QName serviceName) {
- this.serviceName = serviceName;
- this.serviceUnit = ScaServiceUnit.getCurrentScaServiceUnit();
- }
-
- public Object invokeTarget(Object payload) throws InvocationTargetException {
- try {
- DeliveryChannel channel = serviceUnit.getComponent().getComponentContext().getDeliveryChannel();
-
- // TODO: in-only case ?
- // TODO: interface based routing ?
- // TODO: explicit endpoint selection ?
-
- InOut inout = channel.createExchangeFactory().createInOutExchange();
- inout.setService(serviceName);
- NormalizedMessage in = inout.createMessage();
- inout.setInMessage(in);
- in.setContent(new StringSource(payload.toString()));
-
- boolean sent = channel.sendSync(inout);
- // TODO: check for error ?
-
- NormalizedMessage out = inout.getOutMessage();
- Object response = out.getContent();
- inout.setStatus(ExchangeStatus.DONE);
- channel.send(inout);
-
- return response;
-
- } catch (MessagingException e) {
- throw new InvocationTargetException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixReference.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixReference.java
deleted file mode 100644
index e9898f8f15..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixReference.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.servicemix;
-
-import java.lang.reflect.Method;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ReferenceExtension;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-
-/**
- *
- */
-public class ServiceMixReference<T> extends ReferenceExtension<T> {
-
- private final String uri;
-
- public ServiceMixReference(String name,
- CompositeComponent<?> parent,
- WireService wireService,
- String uri,
- Class<T> service)
- {
- super(name, service, parent, wireService);
- setInterface(service);
- this.uri = uri;
- }
-
- public TargetInvoker createTargetInvoker(Method arg0) {
- QName serviceName = null;
- ServiceMixInvoker invoker = new ServiceMixInvoker(serviceName);
- return invoker;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixService.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixService.java
deleted file mode 100644
index ae7e9e3f1b..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/java/org/apache/tuscany/servicemix/ServiceMixService.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.servicemix;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.wire.WireService;
-
-/**
- *
- */
-public class ServiceMixService<T> extends ServiceExtension<T> {
-
- public ServiceMixService(String name, CompositeComponent parent, WireService wireService, Class<T> service) {
- super(name, service, parent, wireService);
- }
-
- public void start() {
- super.start();
- }
-
- public void stop() {
- super.stop();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/DISCLAIMER b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/DISCLAIMER
deleted file mode 100644
index 14eddf5d92..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/DISCLAIMER
+++ /dev/null
@@ -1,6 +0,0 @@
-Apache ServiceMix is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Geronimo PMC.
-Incubation is required of all newly accepted projects until a further review indicates that the infrastructure,
-communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.
-
-While incubation status is not necessarily a reflection of the completeness or stability of the code, it does
-indicate that the project has yet to be fully endorsed by the ASF.
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/LICENSE b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/LICENSE
deleted file mode 100644
index 6b0b1270ff..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/NOTICE b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/NOTICE
deleted file mode 100644
index c035229231..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/main/jbi/META-INF/NOTICE
+++ /dev/null
@@ -1,11 +0,0 @@
- =========================================================================
- == NOTICE file corresponding to the section 4 d of ==
- == the Apache License, Version 2.0, ==
- == in this case for the Apache ServiceMix distribution. ==
- =========================================================================
-
- This product includes software developed by
- The Apache Software Foundation (http://www.apache.org/).
-
- Additional copyright notices and license terms applicable are
- present in the licenses directory of this distribution.
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/AssemblyLoaderTest.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/AssemblyLoaderTest.java
deleted file mode 100644
index 2edf9882ec..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/AssemblyLoaderTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca;
-
-import java.io.File;
-import java.net.URL;
-import java.net.URLClassLoader;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.servicemix.sca.assembly.JbiBinding;
-import org.apache.servicemix.sca.tuscany.TuscanyRuntime;
-import org.apache.tuscany.common.monitor.impl.NullMonitorFactory;
-import org.apache.tuscany.model.assembly.Binding;
-import org.apache.tuscany.model.assembly.Component;
-import org.apache.tuscany.model.assembly.EntryPoint;
-import org.apache.tuscany.model.assembly.ExternalService;
-import org.apache.tuscany.model.assembly.Module;
-
-/**
- * @author delfinoj
- */
-public class AssemblyLoaderTest extends TestCase {
-
- protected void setUp() throws Exception {
- super.setUp();
- Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
- }
-
- public void testLoader() throws Exception {
- String name = "bigbank";
- String uri = getClass().getResource("bigbank/sca.module").toString();
-
- URL url = getClass().getResource("bigbank/sca.module");
- URL parentUrl = new File(url.toURI()).getParentFile().toURL();
- ClassLoader cl = new URLClassLoader(new URL[] { parentUrl }, getClass().getClassLoader());
-
- TuscanyRuntime rt = new TuscanyRuntime(name, uri, cl, new NullMonitorFactory());
- assertNotNull(rt);
-
- Module module = rt.getModuleComponent().getModuleImplementation();
-
- Assert.assertTrue(module.getName().equals("org.apache.servicemix.sca.bigbank"));
-
- Component component = module.getComponent("AccountServiceComponent");
- Assert.assertTrue(component != null);
-
- EntryPoint entryPoint = module.getEntryPoint("AccountService");
- Assert.assertTrue(entryPoint != null);
-
- ExternalService externalService = module.getExternalService("StockQuoteService");
- Assert.assertTrue(externalService != null);
-
- Binding binding = externalService.getBindings().get(0);
- Assert.assertTrue(binding instanceof JbiBinding);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/ScaComponentTest.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/ScaComponentTest.java
deleted file mode 100644
index bd6c4b3e88..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/ScaComponentTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.net.URL;
-
-import javax.naming.InitialContext;
-import javax.xml.bind.JAXBContext;
-import javax.xml.namespace.QName;
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
-
-import junit.framework.TestCase;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.servicemix.client.DefaultServiceMixClient;
-import org.apache.servicemix.client.ServiceMixClient;
-import org.apache.servicemix.components.util.MockServiceComponent;
-import org.apache.servicemix.jbi.container.ActivationSpec;
-import org.apache.servicemix.jbi.container.JBIContainer;
-import org.apache.servicemix.jbi.jaxp.SourceTransformer;
-import org.apache.servicemix.jbi.jaxp.StringSource;
-import org.apache.servicemix.jbi.resolver.ServiceNameEndpointResolver;
-import org.apache.servicemix.sca.bigbank.stockquote.StockQuoteResponse;
-import org.w3c.dom.Node;
-
-public class ScaComponentTest extends TestCase {
-
- private static Log log = LogFactory.getLog(ScaComponentTest.class);
-
- protected JBIContainer container;
-
- protected void setUp() throws Exception {
- container = new JBIContainer();
- container.setUseMBeanServer(false);
- container.setCreateMBeanServer(false);
- container.setMonitorInstallationDirectory(false);
- container.setNamingContext(new InitialContext());
- container.setEmbedded(true);
- container.init();
- }
-
- protected void tearDown() throws Exception {
- if (container != null) {
- container.shutDown();
- }
- }
-
- public void testDeploy() throws Exception {
- ScaComponent component = new ScaComponent();
- container.activateComponent(component, "JSR181Component");
-
- MockServiceComponent mock = new MockServiceComponent();
- mock.setService(new QName("http://www.quickstockquote.com", "StockQuoteService"));
- mock.setEndpoint("StockQuoteServiceJBI");
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- StockQuoteResponse r = new StockQuoteResponse();
- r.setResult(8.23f);
- JAXBContext.newInstance(StockQuoteResponse.class).createMarshaller().marshal(r, baos);
- mock.setResponseXml(baos.toString());
- ActivationSpec as = new ActivationSpec();
- as.setComponent(mock);
- container.activateComponent(as);
-
- // Start container
- container.start();
-
- // Deploy SU
- component.getServiceUnitManager().deploy("su", getServiceUnitPath("org/apache/servicemix/sca/bigbank"));
- component.getServiceUnitManager().init("su", getServiceUnitPath("org/apache/servicemix/sca/bigbank"));
- component.getServiceUnitManager().start("su");
-
- ServiceMixClient client = new DefaultServiceMixClient(container);
- Source req = new StringSource("<AccountReportRequest><CustomerID>id</CustomerID></AccountReportRequest>");
- Object rep = client.request(new ServiceNameEndpointResolver(
- new QName("http://sca.servicemix.apache.org/Bigbank/Account", "AccountService")),
- null, null, req);
- if (rep instanceof Node) {
- rep = new DOMSource((Node) rep);
- }
- log.info(new SourceTransformer().toString((Source) rep));
- }
-
- protected String getServiceUnitPath(String name) {
- URL url = getClass().getClassLoader().getResource(name + "/sca.module");
- File path = new File(url.getFile());
- path = path.getParentFile();
- return path.getAbsolutePath();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountReportRequest.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountReportRequest.java
deleted file mode 100644
index 00c55aeffc..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountReportRequest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.account;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "customerID" })
-@XmlRootElement(name = "AccountReportRequest")
-public class AccountReportRequest {
-
- @XmlElement(name = "CustomerID")
- private String customerID;
-
- public String getCustomerID() {
- return customerID;
- }
-
- public void setCustomerID(String customerID) {
- this.customerID = customerID;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountReportResponse.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountReportResponse.java
deleted file mode 100644
index f52985d2c1..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountReportResponse.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.account;
-
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "accountSummaries" })
-@XmlRootElement(name = "AccountReportResponse")
-public class AccountReportResponse {
-
- @XmlElement(name = "AccountSummaries")
- private List<AccountSummary> accountSummaries;
-
- public List<AccountSummary> getAccountSummaries() {
- return accountSummaries;
- }
-
- public void setAccountSummaries(List<AccountSummary> accountSummaries) {
- this.accountSummaries = accountSummaries;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountService.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountService.java
deleted file mode 100644
index 5c2997f2c3..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountService.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.account;
-
-import org.osoa.sca.annotations.Remotable;
-
-@Remotable
-public interface AccountService {
-
- public AccountReportResponse getAccountReport(AccountReportRequest request);
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountServiceImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountServiceImpl.java
deleted file mode 100644
index f0cad13f5c..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountServiceImpl.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.account;
-
-import java.util.ArrayList;
-
-import org.apache.servicemix.sca.bigbank.accountdata.AccountDataService;
-import org.apache.servicemix.sca.bigbank.accountdata.CheckingAccount;
-import org.apache.servicemix.sca.bigbank.accountdata.SavingsAccount;
-import org.apache.servicemix.sca.bigbank.accountdata.StockAccount;
-import org.apache.servicemix.sca.bigbank.stockquote.StockQuoteRequest;
-import org.apache.servicemix.sca.bigbank.stockquote.StockQuoteResponse;
-import org.apache.servicemix.sca.bigbank.stockquote.StockQuoteService;
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Service;
-
-@Service(interfaces=AccountService.class)
-public class AccountServiceImpl implements AccountService {
-
- @Property
- public String currency = "USD";
-
- @Reference
- public AccountDataService accountDataService;
- @Reference
- public StockQuoteService stockQuoteService;
-
- public AccountServiceImpl() {
- }
-
- public AccountReportResponse getAccountReport(AccountReportRequest request) {
- AccountReportResponse report = new AccountReportResponse();
- String customerID = request.getCustomerID();
- report.setAccountSummaries(new ArrayList<AccountSummary>());
- report.getAccountSummaries().add(getCheckAccountSummary(customerID));
- report.getAccountSummaries().add(getSavingsAccountSummary(customerID));
- report.getAccountSummaries().add(getStockAccountSummary(customerID));
- return report;
- }
-
- private AccountSummary getCheckAccountSummary(String customerID) {
- CheckingAccount checking = accountDataService.getCheckingAccount(customerID);
- AccountSummary summary = new AccountSummary();
- summary.setAccountNumber(checking.getAccountNumber());
- summary.setAccountType("Checking");
- summary.setBalance(checking.getBalance());
- return summary;
- }
-
- private AccountSummary getSavingsAccountSummary(String customerID) {
- SavingsAccount savings = accountDataService.getSavingsAccount(customerID);
- AccountSummary summary = new AccountSummary();
- summary.setAccountNumber(savings.getAccountNumber());
- summary.setAccountType("Savings");
- summary.setBalance(savings.getBalance());
- return summary;
- }
-
- private AccountSummary getStockAccountSummary(String customerID) {
- StockAccount stock = accountDataService.getStockAccount(customerID);
- AccountSummary summary = new AccountSummary();
- summary.setAccountNumber(stock.getAccountNumber());
- summary.setAccountType("Stock");
- float quote = getQuote(stock.getSymbol());
- summary.setBalance(quote * stock.getQuantity());
- return summary;
- }
-
- private float getQuote(String symbol) {
- StockQuoteRequest req = new StockQuoteRequest();
- req.setSymbol(symbol);
- StockQuoteResponse rep = stockQuoteService.getQuote(req);
- return rep.getResult();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountSummary.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountSummary.java
deleted file mode 100644
index f6e5a060af..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/account/AccountSummary.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.account;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "accountNumber", "accountType", "balance" })
-@XmlRootElement(name = "AccountSummary")
-public class AccountSummary {
-
- @XmlElement(name = "AccountNumber")
- private String accountNumber;
-
- @XmlElement(name = "AccountType")
- private String accountType;
-
- @XmlElement(name = "Balance")
- private float balance;
-
- public AccountSummary() {
- }
-
- public String getAccountNumber() {
- return accountNumber;
- }
-
- public void setAccountNumber(String accountNumber) {
- this.accountNumber = accountNumber;
- }
-
- public String getAccountType() {
- return accountType;
- }
-
- public void setAccountType(String accountType) {
- this.accountType = accountType;
- }
-
- public float getBalance() {
- return balance;
- }
-
- public void setBalance(float balance) {
- this.balance = balance;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/AccountDataService.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/AccountDataService.java
deleted file mode 100644
index 972b9dc704..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/AccountDataService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.accountdata;
-
-public interface AccountDataService {
-
- CheckingAccount getCheckingAccount(String customerID);
-
- SavingsAccount getSavingsAccount(String customerID);
-
- StockAccount getStockAccount(String customerID);
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/AccountDataServiceImpl.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/AccountDataServiceImpl.java
deleted file mode 100644
index f9d0c08df7..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/AccountDataServiceImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.accountdata;
-
-public class AccountDataServiceImpl implements AccountDataService {
-
- public CheckingAccount getCheckingAccount(String customerID) {
-
- CheckingAccount checkingAccount = new CheckingAccount();
- checkingAccount.setAccountNumber(customerID + "_" + "CHA12345");
- checkingAccount.setBalance(1500.0f);
-
- return checkingAccount;
- }
-
- public SavingsAccount getSavingsAccount(String customerID) {
-
- SavingsAccount savingsAccount = new SavingsAccount();
- savingsAccount.setAccountNumber(customerID + "_" + "SAA12345");
- savingsAccount.setBalance(1500.0f);
-
- return savingsAccount;
- }
-
- public StockAccount getStockAccount(String customerID) {
-
- StockAccount stockAccount = new StockAccount();
- stockAccount.setAccountNumber(customerID + "_" + "STA12345");
- stockAccount.setSymbol("IBM");
- stockAccount.setQuantity(100);
-
- return stockAccount;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/CheckingAccount.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/CheckingAccount.java
deleted file mode 100644
index 596dcc8d06..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/CheckingAccount.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.accountdata;
-
-public class CheckingAccount {
-
- private String accountNumber;
- private float balance;
-
- public String getAccountNumber() {
- return accountNumber;
- }
-
- public void setAccountNumber(String accountNumber) {
- this.accountNumber = accountNumber;
- }
-
- public float getBalance() {
- return balance;
- }
-
- public void setBalance(float balance) {
- this.balance = balance;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/SavingsAccount.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/SavingsAccount.java
deleted file mode 100644
index c208788ca8..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/SavingsAccount.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.accountdata;
-
-public class SavingsAccount {
-
- private String accountNumber;
- private float balance;
-
- public String getAccountNumber() {
- return accountNumber;
- }
-
- public void setAccountNumber(String accountNumber) {
- this.accountNumber = accountNumber;
- }
-
- public float getBalance() {
- return balance;
- }
-
- public void setBalance(float balance) {
- this.balance = balance;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/StockAccount.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/StockAccount.java
deleted file mode 100644
index 1005bceb91..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/accountdata/StockAccount.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.accountdata;
-
-public class StockAccount {
-
- private String accountNumber;
- private String symbol;
- private int quantity;
-
- public String getAccountNumber() {
- return accountNumber;
- }
-
- public void setAccountNumber(String accountNumber) {
- this.accountNumber = accountNumber;
- }
-
- public int getQuantity() {
- return quantity;
- }
-
- public void setQuantity(int quantity) {
- this.quantity = quantity;
- }
-
- public String getSymbol() {
- return symbol;
- }
-
- public void setSymbol(String symbol) {
- this.symbol = symbol;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteRequest.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteRequest.java
deleted file mode 100644
index 4f12b18601..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteRequest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.stockquote;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "symbol" })
-@XmlRootElement(name = "StockQuoteRequest")
-public class StockQuoteRequest {
-
- @XmlElement(name = "Symbol")
- private String symbol;
-
- public String getSymbol() {
- return symbol;
- }
-
- public void setSymbol(String symbol) {
- this.symbol = symbol;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteResponse.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteResponse.java
deleted file mode 100644
index bf2d7c7c00..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteResponse.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.stockquote;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = { "result" })
-@XmlRootElement(name = "StockQuoteResponse")
-public class StockQuoteResponse {
-
- @XmlElement(name = "Result")
- private float result;
-
- public float getResult() {
- return result;
- }
-
- public void setResult(float result) {
- this.result = result;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteService.java b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteService.java
deleted file mode 100644
index 3fa1558907..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/java/org/apache/servicemix/sca/bigbank/stockquote/StockQuoteService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.servicemix.sca.bigbank.stockquote;
-
-import org.osoa.sca.annotations.Remotable;
-
-@Remotable
-public interface StockQuoteService {
-
- public StockQuoteResponse getQuote(StockQuoteRequest stockQuote);
-}
-
-
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/log4j-tests.properties b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/log4j-tests.properties
deleted file mode 100644
index ec53858ed2..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/log4j-tests.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# The logging properties used during tests..
-#
-log4j.rootLogger=DEBUG, out
-
-log4j.logger.org.apache.activemq=INFO
-log4j.logger.org.apache.activemq.spring=WARN
-log4j.logger.org.apache.activemq.store.journal=INFO
-log4j.logger.org.activeio.journal=INFO
-
-# CONSOLE appender not used by default
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
-
-# File appender
-log4j.appender.out=org.apache.log4j.FileAppender
-log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
-log4j.appender.out.file=target/servicemix-test.log
-log4j.appender.out.append=true
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/log4j.properties b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/log4j.properties
deleted file mode 100644
index 992c894051..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-#
-# The logging properties used during tests..
-#
-log4j.rootLogger=DEBUG, stdout
-
-log4j.logger.org.apache.activemq=INFO
-log4j.logger.org.apache.activemq.spring=WARN
-log4j.logger.org.apache.activemq.store.journal=INFO
-log4j.logger.org.activeio.journal=INFO
-
-# CONSOLE appender not used by default
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
-
-# File appender
-log4j.appender.out=org.apache.log4j.FileAppender
-log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
-log4j.appender.out.file=target/servicemix-test.log
-log4j.appender.out.append=true
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/org/apache/servicemix/sca/bigbank/account/AccountService.wsdl b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/org/apache/servicemix/sca/bigbank/account/AccountService.wsdl
deleted file mode 100644
index 9797a5739c..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/org/apache/servicemix/sca/bigbank/account/AccountService.wsdl
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://sca.servicemix.apache.org/Bigbank/Account"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://sca.servicemix.apache.org/Bigbank/Account"
- name="AccountService">
-
- <wsdl:types>
- <xsd:schema targetNamespace="http://sca.servicemix.apache.org/Bigbank/Account" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
- <xsd:element name="getAccountReportRequest" type="tns:AccountReportRequest"/>
- <xsd:complexType name="AccountReportRequest">
- <xsd:sequence>
- <xsd:element name="CustomerID" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:element name="getAccountReportResponse" type="tns:AccountReportResponse"/>
-
- <xsd:complexType name="AccountReportResponse">
- <xsd:sequence>
- <xsd:element name="AccountSummaries">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="AccountSummary"
- type="tns:AccountSummary" maxOccurs="unbounded" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="AccountSummary">
- <xsd:sequence>
- <xsd:element name="AccountNumber" type="xsd:string"/>
- <xsd:element name="AccountType" type="xsd:string"/>
- <xsd:element name="Balance" type="xsd:float"/>
- </xsd:sequence>
- </xsd:complexType>
-
- </xsd:schema>
- </wsdl:types>
- <wsdl:message name="getAccountReportRequest">
- <wsdl:part element="tns:getAccountReportRequest" name="getAccountReportRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportResponse">
- <wsdl:part element="tns:getAccountReportResponse" name="getAccountReportResponse"/>
- </wsdl:message>
- <wsdl:portType name="AccountService">
- <wsdl:operation name="getAccountReport">
- <wsdl:input message="tns:getAccountReportRequest"/>
- <wsdl:output message="tns:getAccountReportResponse"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="AccountServiceJBI" type="tns:AccountService">
- </wsdl:binding>
- <wsdl:service name="AccountService">
- <wsdl:port binding="tns:AccountServiceJBI"
- name="AccountServiceJBI">
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/org/apache/servicemix/sca/bigbank/sca.module b/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/org/apache/servicemix/sca/bigbank/sca.module
deleted file mode 100644
index ae520dd54e..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/binding.servicemix/src/test/resources/org/apache/servicemix/sca/bigbank/sca.module
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<module xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
-
- name="org.apache.servicemix.sca.bigbank">
-
- <entryPoint name="AccountService">
- <interface.java interface="org.apache.servicemix.sca.bigbank.account.AccountService"/>
- <interface.wsdl interface="http://sca.servicemix.apache.org/Bigbank/Account#AccountService"/>
- <binding.jbi port="http://sca.servicemix.apache.org/Bigbank/Account/AccountService/AccountServiceJBI"/>
- <reference>AccountServiceComponent</reference>
- </entryPoint>
-
- <component name="AccountServiceComponent">
- <implementation.java class="org.apache.servicemix.sca.bigbank.account.AccountServiceImpl"/>
- <properties>
- <v:currency>EURO</v:currency>
- </properties>
- <references>
- <v:accountDataService>AccountDataServiceComponent</v:accountDataService>
- <v:stockQuoteService>StockQuoteService</v:stockQuoteService>
- </references>
- </component>
-
- <component name="AccountDataServiceComponent">
- <implementation.java class="org.apache.servicemix.sca.bigbank.accountdata.AccountDataServiceImpl"/>
- </component>
-
- <externalService name="StockQuoteService">
- <interface.java interface="org.apache.servicemix.sca.bigbank.stockquote.StockQuoteService"/>
- <binding.jbi port="http://www.quickstockquote.com/StockQuoteService/StockQuoteServiceJBI"/>
- </externalService>
-
- <import.wsdl
- location="org/apache/servicemix/sca/bigbank/account/AccountService.wsdl"
- namespace="http://sca.servicemix.apache.org/Bigbank/Account" />
-
-</module>
-
diff --git a/branches/sca-java-M2/sca/services/bindings/pom.xml b/branches/sca-java-M2/sca/services/bindings/pom.xml
deleted file mode 100644
index 8b255c7b2f..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/pom.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <parent>
- <groupId>org.apache.tuscany.sca.services</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.tuscany.sca.services.bindings</groupId>
- <artifactId>parent</artifactId>
- <packaging>pom</packaging>
- <name>Tuscany SCA Bindings</name>
-
- <profiles>
- <profile>
- <id>full</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <!-- temporary project to download and install the celtix required sun jars. The jars
- are all CDDL so will be available on ibiblio when Sun releases them. This is just temporary.-->
-
- <module>sunjars</module>
- <module>binding.celtix</module>
- <module>binding.axis2</module>
- <module>binding.jsonrpc</module>
- <module>binding.rmi</module>
- </modules>
- </profile>
- <profile>
- <id>release</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <modules>
- <module>binding.axis2</module>
- <module>binding.rmi</module>
- </modules>
- </profile>
- </profiles>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/bindings/sunjars/build.xml b/branches/sca-java-M2/sca/services/bindings/sunjars/build.xml
deleted file mode 100644
index e6fec45356..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/sunjars/build.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project name="CeltixSunJarsInstaller">
- <target name="checkinstalled">
- <condition property="already.installed" >
- <and>
- <available file="${localRepository}/javax/annotation/jsr250-api/2.0-JAXWS-2.0-EA3/jsr250-api-2.0-JAXWS-2.0-EA3.jar"/>
- <available file="${localRepository}/javax/jws/jsr181-api/2.0-JAXWS-2.0-EA3/jsr181-api-2.0-JAXWS-2.0-EA3.jar"/>
- <available file="${localRepository}/javax/xml/jaxws-api/2.0-JAXWS-2.0-EA3/jaxws-api-2.0-JAXWS-2.0-EA3.jar"/>
- <available file="${localRepository}/com/sun/xml/saaj-impl/1.3/saaj-impl-1.3.jar"/>
- <available file="${localRepository}/javax/xml/saaj-api/1.3/saaj-api-1.3.jar"/>
- </and>
- </condition>
- <condition property="maven.suffix" value="">
- <os family="unix"/>
- </condition>
- <condition property="maven.suffix" value=".bat">
- <os family="windows"/>
- </condition>
- </target>
-
- <target name="installJars" depends="checkinstalled" unless="already.installed">
- <exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
- <arg line="install:install-file -DgroupId=javax.annotation -DartifactId=jsr250-api -Dversion=2.0-JAXWS-2.0-EA3 -Dpackaging=jar -DgeneratePom=true -Dfile=${basedir}/target/celtix-install/celtix/lib/jsr250-api-2.0-JAXWS-2.0-EA3.jar"/>
- </exec>
- <exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
- <arg line="install:install-file -DgroupId=javax.jws -DartifactId=jsr181-api -Dversion=2.0-JAXWS-2.0-EA3 -Dpackaging=jar -DgeneratePom=true -Dfile=${basedir}/target/celtix-install/celtix/lib/jsr181-api-2.0-JAXWS-2.0-EA3.jar"/>
- </exec>
- <exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
- <arg line="install:install-file -DgroupId=javax.xml -DartifactId=jaxws-api -Dversion=2.0-JAXWS-2.0-EA3 -Dpackaging=jar -DgeneratePom=true -Dfile=${basedir}/target/celtix-install/celtix/lib/jaxws-api-2.0-JAXWS-2.0-EA3.jar"/>
- </exec>
- <exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
- <arg line="install:install-file -DgroupId=javax.xml -DartifactId=saaj-api -Dversion=1.3 -Dpackaging=jar -DgeneratePom=true -Dfile=${basedir}/target/celtix-install/celtix/lib/saaj-api-1.3.jar"/>
- </exec>
- <exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
- <arg line="install:install-file -DgroupId=com.sun.xml -DartifactId=saaj-impl -Dversion=1.3 -Dpackaging=jar -DgeneratePom=true -Dfile=${basedir}/target/celtix-install/celtix/lib/saaj-impl-1.3.jar"/>
- </exec>
- </target>
-</project>
diff --git a/branches/sca-java-M2/sca/services/bindings/sunjars/pom.xml b/branches/sca-java-M2/sca/services/bindings/sunjars/pom.xml
deleted file mode 100644
index d227956013..0000000000
--- a/branches/sca-java-M2/sca/services/bindings/sunjars/pom.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.apache.tuscany.sca.services.bindings</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>sunjars</artifactId>
- <packaging>pom</packaging>
- <name>Project to install the Sun jars</name>
-
- <properties>
- <celtix.version>1.0</celtix.version>
- </properties>
- <repositories>
- <repository>
- <id>objectweb</id>
- <name>ObjectWeb repo</name>
- <url>http://maven.objectweb.org/maven2</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <build>
- <plugins>
- <!-- This is a "hack" to overcome the Sun jar issue. Basically, we download a
- complete celtix install kit (epl version) and then extract the Sun jars that we
- need and install them. We use the dependency plugin to download it from the
- objectweb snapshot mirror, then use antrun to fork a build.xml that will conditionally
- call mvn to install the jars if they aren't already there. -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>dependency-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>getdeps</id>
- <phase>validate</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}/celtix-install</outputDirectory>
- <artifactItems>
- <artifactItem>
- <groupId>org.objectweb.celtix</groupId>
- <artifactId>celtix-distribution</artifactId>
- <version>${celtix.version}</version>
- <classifier>bin-epl</classifier>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>install</id>
- <phase>install</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <ant target="installJars">
- <property name="localRepository" value="${settings.localRepository}"/>
- </ant>
- </tasks>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/.ruleset b/branches/sca-java-M2/sca/services/containers/container.groovy/.ruleset
deleted file mode 100644
index a1547fea92..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<!--<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>-->
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/LICENSE.txt b/branches/sca-java-M2/sca/services/containers/container.groovy/LICENSE.txt
deleted file mode 100644
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/NOTICE.txt b/branches/sca-java-M2/sca/services/containers/container.groovy/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/pom.xml b/branches/sca-java-M2/sca/services/containers/container.groovy/pom.xml
deleted file mode 100644
index 30d90f503b..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <parent>
- <groupId>org.apache.tuscany.sca.services.containers</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>groovy</artifactId>
- <name>Apache Tuscany Groovy Container</name>
- <description>Apache Tuscany Groovy Container</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>groovy</groupId>
- <artifactId>groovy</artifactId>
- <version>1.0-jsr-05</version>
- <scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>cglib</groupId>
- <artifactId>cglib-full</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>xpp3</groupId>
- <artifactId>xpp3</artifactId>
- <version>1.1.3.4-RC8</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
- </dependencies>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/AsyncGroovyInvoker.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/AsyncGroovyInvoker.java
deleted file mode 100644
index f761122847..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/AsyncGroovyInvoker.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-
-/**
- * Responsible for performing a non-blocking dispatch on a Groovy component implementation instance
- *
- * @version $Rev$ $Date$
- */
-public class AsyncGroovyInvoker extends GroovyInvoker {
-
- private InboundWire wire;
- private AsyncMonitor monitor;
- private WorkContext workContext;
- private Object target;
-
- /**
- * Creates a new invoker
- *
- * @param operation the operation the invoker is associated with
- * @param wire
- * @param component the target component
- * @param monitor the monitor to pass events to
- * @param workContext
- */
- public AsyncGroovyInvoker(String operation,
- InboundWire wire,
- GroovyAtomicComponent component,
- AsyncMonitor monitor,
- WorkContext workContext) {
- super(operation, component);
- this.wire = wire;
- this.monitor = monitor;
- this.workContext = workContext;
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object messageId = msg.getMessageId();
- wire.addMapping(messageId, msg.getFromAddress());
- workContext.setCurrentMessageId(null);
- workContext.setCurrentCorrelationId(messageId);
- invokeTarget(msg.getBody());
- // async so no return value
- return null;
- } catch (Throwable e) {
- // FIXME need to log exceptions
- monitor.executionError(e);
- return null;
- }
- }
-
- public AsyncGroovyInvoker clone() throws CloneNotSupportedException {
- return (AsyncGroovyInvoker) super.clone();
- }
-
- /**
- * Resolves the target service instance or returns a cached one
- */
- protected Object getInstance() throws TargetException {
- if (!cacheable) {
- return component.getTargetInstance();
- } else {
- if (target == null) {
- target = component.getTargetInstance();
- }
- return target;
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/AsyncMonitor.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/AsyncMonitor.java
deleted file mode 100644
index 4da5538990..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/AsyncMonitor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-/**
- * A monitor used to log events during non-blocking invocations
- * <p/>
- *
- * @version $$Rev$$ $$Date$$
- */
-public interface AsyncMonitor {
-
- /**
- * Logs an exception thrown during an invocation
- */
- void executionError(Throwable e);
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicComponent.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicComponent.java
deleted file mode 100644
index b0ed18382f..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyAtomicComponent.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.spi.ObjectCreationException;
-import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.extension.AtomicComponentExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-import groovy.lang.GroovyObject;
-
-/**
- * The Groovy atomic component implementation. Groovy implementations may be "scripts" or classes.
- */
-public class GroovyAtomicComponent extends AtomicComponentExtension {
- private final Class<? extends GroovyObject> groovyClass;
- private final List<Class<?>> services;
- //FIXME properties should move up to AtomicComponentExtension
- private final Map<String, ObjectFactory> properties;
- private AsyncMonitor monitor;
-
- public GroovyAtomicComponent(GroovyConfiguration configuration, AsyncMonitor monitor) {
- super(configuration.getName(),
- configuration.getParent(),
- configuration.getScopeContainer(),
- configuration.getWireService(),
- configuration.getWorkContext(),
- null, configuration.getInitLevel());
-
- this.groovyClass = configuration.getGroovyClass();
- this.services = Collections.unmodifiableList(configuration.getServices());
- this.properties = new HashMap<String, ObjectFactory>();
- assert groovyClass != null;
- this.monitor = monitor;
- }
-
- public List<Class<?>> getServiceInterfaces() {
- return services;
- }
-
- public TargetInvoker createTargetInvoker(String targetName, Operation operation) {
- return new GroovyInvoker(operation.getName(), this);
- }
-
- public TargetInvoker createAsyncTargetInvoker(InboundWire wire, Operation operation) {
- return new AsyncGroovyInvoker(operation.getName(), wire, this, monitor, workContext);
- }
-
- public Object createInstance() throws ObjectCreationException {
- GroovyObject instance;
- try {
- instance = groovyClass.newInstance();
- } catch (IllegalAccessException e) {
- throw new ObjectCreationException(e);
- } catch (InstantiationException e) {
- throw new ObjectCreationException(e);
- }
-
- // inject properties
- for (Map.Entry<String, ObjectFactory> property : properties.entrySet()) {
- instance.setProperty(property.getKey(), property.getValue().getInstance());
- }
-
- // inject references
- for (List<OutboundWire> referenceWires : getOutboundWires().values()) {
- for (OutboundWire wire : referenceWires) {
- instance.setProperty(wire.getReferenceName(), wireService.createProxy(wire));
- }
- }
- return instance;
- }
-
- public GroovyObject getTargetInstance() throws TargetException {
- return (GroovyObject) scopeContainer.getInstance(this);
- }
-
- public Object getServiceInstance() throws TargetException {
- //TODO this should return a default service from a wire
- return scopeContainer.getInstance(this);
- }
-
- public Object getServiceInstance(String service) throws TargetException {
- InboundWire wire = getInboundWire(service);
- if (wire == null) {
- TargetException e = new TargetException("ServiceDefinition not found"); // TODO better error message
- e.setIdentifier(service);
- throw e;
- }
- return wireService.createProxy(wire);
- }
-
- public void addPropertyFactory(String name, ObjectFactory<?> factory) {
- properties.put(name, factory);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
deleted file mode 100644
index 4e99b888da..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentBuilder.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-import groovy.lang.GroovyClassLoader;
-import groovy.lang.GroovyObject;
-import org.codehaus.groovy.control.CompilationFailedException;
-
-/**
- * Extension point for creating {@link GroovyAtomicComponent}s from an assembly configuration
- *
- * @version $$Rev$$ $$Date$$
- */
-public class GroovyComponentBuilder extends ComponentBuilderExtension<GroovyImplementation> {
-
- protected Class<GroovyImplementation> getImplementationType() {
- return GroovyImplementation.class;
- }
-
- public Component build(CompositeComponent parent,
- ComponentDefinition<GroovyImplementation> componentDefinition,
- DeploymentContext deploymentContext)
- throws BuilderConfigException {
-
- String name = componentDefinition.getName();
- GroovyImplementation implementation = componentDefinition.getImplementation();
- GroovyComponentType componentType = implementation.getComponentType();
-
- int initLevel = componentType.getInitLevel();
-
- // get list of services provided by this component
- Collection<ServiceDefinition> collection = componentType.getServices().values();
- List<Class<?>> services = new ArrayList<Class<?>>(collection.size());
- for (ServiceDefinition serviceDefinition : collection) {
- services.add(serviceDefinition.getServiceContract().getInterfaceClass());
- }
-
- // get the Groovy classloader for this deployment component
- GroovyClassLoader groovyClassLoader = (GroovyClassLoader) deploymentContext.getExtension("groovy.classloader");
- if (groovyClassLoader == null) {
- groovyClassLoader = new GroovyClassLoader(deploymentContext.getClassLoader());
- deploymentContext.putExtension("groovy.classloader", groovyClassLoader);
- }
-
- // create the implementation class for the script
- Class<? extends GroovyObject> groovyClass;
- try {
- String script = implementation.getScript();
- // REVIEW JFM can we cache the class?
- groovyClass = groovyClassLoader.parseClass(script);
- } catch (CompilationFailedException e) {
- BuilderConfigException bce = new BuilderConfigException(e);
- bce.setIdentifier(name);
- throw bce;
- }
- // TODO deal with init and destroy
-
- GroovyConfiguration configuration = new GroovyConfiguration();
- configuration.setName(name);
- configuration.setGroovyClass(groovyClass);
- configuration.setParent(parent);
- // get the scope container for this component's scope
- Scope scope = componentType.getLifecycleScope();
- if (Scope.MODULE == scope) {
- configuration.setScopeContainer(deploymentContext.getModuleScope());
- } else {
- configuration.setScopeContainer(scopeRegistry.getScopeContainer(scope));
- }
-
-
- configuration.setWireService(wireService);
- configuration.setWorkContext(workContext);
- configuration.setInitLevel(initLevel);
- configuration.setServices(services);
- GroovyAtomicComponent component = new GroovyAtomicComponent(configuration, null);
-
- // handle properties
- for (Property<?> property : componentType.getProperties().values()) {
- ObjectFactory<?> factory = property.getDefaultValueFactory();
- if (factory != null) {
- component.addPropertyFactory(property.getName(), factory);
- }
- }
- return component;
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentType.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentType.java
deleted file mode 100644
index bd54371fd7..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentType.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-/**
- * Model object representing a Groovy component type
- *
- * @version $$Rev$$ $$Date$$
- */
-public class GroovyComponentType extends ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> {
- private Scope lifecycleScope;
-
- public Scope getLifecycleScope() {
- return lifecycleScope;
- }
-
- public void setLifecycleScope(Scope lifecycleScope) {
- this.lifecycleScope = lifecycleScope;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentTypeLoader.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentTypeLoader.java
deleted file mode 100644
index 6da7840fdb..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyComponentTypeLoader.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentTypeLoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.model.Scope;
-
-/**
- * @version $Rev$ $Date$
- */
-public class GroovyComponentTypeLoader extends ComponentTypeLoaderExtension<GroovyImplementation> {
- protected Class<GroovyImplementation> getImplementationClass() {
- return GroovyImplementation.class;
- }
-
- public void load(CompositeComponent parent, GroovyImplementation implementation, DeploymentContext context)
- throws LoaderException {
- GroovyComponentType componentType = new GroovyComponentType();
- // for now, default to module
- componentType.setLifecycleScope(Scope.MODULE);
- implementation.setComponentType(componentType);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyConfiguration.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyConfiguration.java
deleted file mode 100644
index b9ede2d034..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyConfiguration.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import java.lang.reflect.Member;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.wire.WireService;
-
-import groovy.lang.GroovyObject;
-
-/**
- * Encapsulates confuration for a Groovy-based atomic component
- *
- * @version $Rev$ $Date$
- */
-public class GroovyConfiguration {
-
- private CompositeComponent parent;
- private ScopeContainer scopeContainer;
- private int initLevel;
- private Map<String, Member> referenceSites = new HashMap<String, Member>();
- private Map<String, Member> propertySites = new HashMap<String, Member>();
- private Map<String, Member> callbackSites = new HashMap<String, Member>();
- private List<Class<?>> serviceInterfaces = new ArrayList<Class<?>>();
- private WireService wireService;
- private WorkContext workContext;
- private String name;
- private Class<? extends GroovyObject> groovyClass;
- private List<Class<?>> services;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public Class<? extends GroovyObject> getGroovyClass() {
- return groovyClass;
- }
-
- public void setGroovyClass(Class<? extends GroovyObject> groovyClass) {
- this.groovyClass = groovyClass;
- }
-
- public CompositeComponent getParent() {
- return parent;
- }
-
- public void setParent(CompositeComponent parent) {
- this.parent = parent;
- }
-
- public ScopeContainer getScopeContainer() {
- return scopeContainer;
- }
-
- public void setScopeContainer(ScopeContainer scopeContainer) {
- this.scopeContainer = scopeContainer;
- }
-
- public List<Class<?>> getServiceInterfaces() {
- return serviceInterfaces;
- }
-
- public void addServiceInterface(Class<?> serviceInterface) {
- serviceInterfaces.add(serviceInterface);
- }
-
- public int getInitLevel() {
- return initLevel;
- }
-
- public void setInitLevel(int initLevel) {
- this.initLevel = initLevel;
- }
-
- public List<Class<?>> getServices() {
- return services;
- }
-
- public void setServices(List<Class<?>> services) {
- this.services = services;
- }
-
- public Map<String, Member> getReferenceSite() {
- return referenceSites;
- }
-
- public void addReferenceSite(String name, Member member) {
- referenceSites.put(name, member);
- }
-
- public Map<String, Member> getCallbackSite() {
- return callbackSites;
- }
-
- public void addCallbackSite(String name, Member member) {
- callbackSites.put(name, member);
- }
-
- public Map<String, Member> getPropertySites() {
- return propertySites;
- }
-
- public void addPropertySite(String name, Member member) {
- propertySites.put(name, member);
- }
-
- public WireService getWireService() {
- return wireService;
- }
-
- public void setWireService(WireService wireService) {
- this.wireService = wireService;
- }
-
- public WorkContext getWorkContext() {
- return workContext;
- }
-
- public void setWorkContext(WorkContext workContext) {
- this.workContext = workContext;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyImplementation.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyImplementation.java
deleted file mode 100644
index 96b4a3bc2d..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyImplementation.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import org.apache.tuscany.spi.model.AtomicImplementation;
-
-/**
- * Model object for a Groovy implementation.
- */
-public class GroovyImplementation extends AtomicImplementation<GroovyComponentType> {
-
- //the Groovy source to be executed
- private String script;
-
- /**
- * Returns the Groovy source to be executed.
- */
- public String getScript() {
- return script;
- }
-
- /**
- * Sets the Groovy source to be executed.
- */
- public void setScript(String script) {
- this.script = script;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyInvoker.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyInvoker.java
deleted file mode 100644
index b6fdbbb0b6..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyInvoker.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-import groovy.lang.GroovyObject;
-
-/**
- * Dispatches to a Groovy implementation instance
- *
- * @version $$Rev$$ $$Date$$
- */
-public class GroovyInvoker implements TargetInvoker, Cloneable {
-
- protected GroovyAtomicComponent component;
- protected String operation;
- protected boolean cacheable;
-
- public GroovyInvoker(String operation, GroovyAtomicComponent context) {
- this.component = context;
- this.operation = operation;
- }
-
- public boolean isCacheable() {
- return cacheable;
- }
-
- public void setCacheable(boolean cacheable) {
- this.cacheable = cacheable;
- }
-
- public boolean isOptimizable() {
- return false;
- }
-
- /**
- * Dispatches to the the target.
- */
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
- GroovyObject target = component.getTargetInstance();
- Object[] args = (Object[]) payload;
- try {
- return target.invokeMethod(operation, args);
- } catch (Exception ex) {
- throw new InvocationTargetException(ex);
- }
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBodyWithFault(e.getCause());
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-
- public GroovyInvoker clone() throws CloneNotSupportedException {
- return (GroovyInvoker) super.clone();
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/ImplementationLoader.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/ImplementationLoader.java
deleted file mode 100644
index da93abbd9d..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/ImplementationLoader.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.URL;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-
-/**
- * Loader for handling <groovy:implementation> elements.
- *
- * @version $Rev$ $Date$
- */
-public class ImplementationLoader extends LoaderExtension<GroovyImplementation> {
- private static final QName IMPLEMENTATION_GROOVY =
- new QName("http://incubator.apache.org/tuscany/xmlns/container/groovy/1.0-incubator-M2", "implementation.groovy");
-
- public ImplementationLoader(@Autowire LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return IMPLEMENTATION_GROOVY;
- }
-
- public GroovyImplementation load(CompositeComponent parent,
- XMLStreamReader reader,
- DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
-
- String script = reader.getAttributeValue(null, "script");
- if (script == null) {
- throw new MissingResourceException("No script supplied");
- }
- String source = loadSource(deploymentContext.getClassLoader(), script);
-
- LoaderUtil.skipToEndElement(reader);
-
- GroovyImplementation implementation = new GroovyImplementation();
- implementation.setScript(source);
- // no component type support
- //registry.loadComponentType(parent, implementation, deploymentContext);
- return implementation;
- }
-
- protected String loadSource(ClassLoader cl, String resource) throws LoaderException {
- URL url = cl.getResource(resource);
- if (url == null) {
- throw new MissingResourceException(resource);
- }
- InputStream is;
- try {
- is = url.openStream();
- } catch (IOException e) {
- MissingResourceException mre = new MissingResourceException(resource, e);
- mre.setIdentifier(resource);
- throw mre;
- }
- try {
- Reader reader = new InputStreamReader(is, "UTF-8");
- char[] buffer = new char[1024];
- StringBuilder source = new StringBuilder();
- int count;
- while ((count = reader.read(buffer)) > 0) {
- source.append(buffer, 0, count);
- }
- return source.toString();
- } catch (IOException e) {
- LoaderException le = new LoaderException(e);
- le.setIdentifier(resource);
- throw le;
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/resources/META-INF/sca/groovy.system.scdl b/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/resources/META-INF/sca/groovy.system.scdl
deleted file mode 100644
index 24fbfd5e25..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/main/resources/META-INF/sca/groovy.system.scdl
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<!--
- JavaScript configuration for the launcher environment.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
-
- name="groovy.extension">
-
- <component name="GroovyLoader">
- <system:implementation.system class="org.apache.tuscany.container.groovy.ImplementationLoader"/>
- </component>
-
- <component name="GroovyComponentTypeLoader">
- <system:implementation.system class="org.apache.tuscany.container.groovy.GroovyComponentTypeLoader"/>
- </component>
-
- <component name="GroovyBuilder">
- <system:implementation.system class="org.apache.tuscany.container.groovy.GroovyComponentBuilder"/>
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java
deleted file mode 100644
index a27bb25484..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/AsyncInvokerTestCase.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import java.lang.reflect.Method;
-
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.services.work.WorkScheduler;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.MessageImpl;
-
-import groovy.lang.GroovyObject;
-import junit.framework.TestCase;
-import org.apache.tuscany.container.groovy.mock.AsyncTarget;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.getCurrentArguments;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import org.easymock.IAnswer;
-import org.easymock.classextension.EasyMock;
-
-/**
- * @version $Rev$ $Date$
- */
-public class AsyncInvokerTestCase extends TestCase {
-
- public void testInvoke() throws Exception {
- GroovyObject instance = createMock(GroovyObject.class);
- expect(instance.invokeMethod("invoke", null)).andReturn(null).once();
- replay(instance);
- GroovyAtomicComponent component = EasyMock.createMock(GroovyAtomicComponent.class);
- expect(component.getTargetInstance()).andReturn(instance);
- EasyMock.replay(component);
- AsyncMonitor monitor = createMock(AsyncMonitor.class);
- replay(monitor);
-
- WorkScheduler scheduler = createMock(WorkScheduler.class);
- scheduler.scheduleWork(isA(Runnable.class));
- expectLastCall().andStubAnswer(new IAnswer() {
- public Object answer() throws Throwable {
- Runnable runnable = (Runnable) getCurrentArguments()[0];
- runnable.run();
- return null;
- }
- });
- replay(scheduler);
- WorkContext context = createMock(WorkContext.class);
- Method method = AsyncTarget.class.getMethod("invoke");
- method.setAccessible(true);
- InboundWire wire = createMock(InboundWire.class);
- AsyncGroovyInvoker invoker = new AsyncGroovyInvoker("invoke", wire, component, monitor, context);
- Message msg = new MessageImpl();
- invoker.invoke(msg);
- verify(instance);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/GroovyComponentTypeLoaderTestCase.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/GroovyComponentTypeLoaderTestCase.java
deleted file mode 100644
index bfff4bdef7..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/GroovyComponentTypeLoaderTestCase.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import org.apache.tuscany.spi.model.Scope;
-
-import junit.framework.TestCase;
-
-/**
- * @version $Rev$ $Date$
- */
-public class GroovyComponentTypeLoaderTestCase extends TestCase {
-
- public void testLoad() throws Exception {
- GroovyComponentTypeLoader loader = new GroovyComponentTypeLoader();
- GroovyImplementation impl = new GroovyImplementation();
- loader.load(null, impl, null);
- GroovyComponentType type = impl.getComponentType();
- assertEquals(Scope.MODULE, type.getLifecycleScope());
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ImplementationLoaderTestCase.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ImplementationLoaderTestCase.java
deleted file mode 100644
index 2af0611757..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ImplementationLoaderTestCase.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-
-import junit.framework.TestCase;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.easymock.classextension.EasyMock.verify;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ImplementationLoaderTestCase extends TestCase {
- private CompositeComponent parent;
- private XMLStreamReader reader;
- private DeploymentContext deploymentContext;
- private ClassLoader classLoader;
- private LoaderRegistry registry;
- private ImplementationLoader loader;
-
- public void testNoScriptAttribute() throws LoaderException, XMLStreamException {
- expect(reader.getAttributeValue(null, "script")).andReturn(null);
- replay(reader);
- replay(deploymentContext);
-
- try {
- loader.load(parent, reader, deploymentContext);
- fail();
- } catch (MissingResourceException e) {
- // ok
- }
- verify(reader);
- verify(deploymentContext);
- }
-
- public void testNoScriptPresent() throws LoaderException, XMLStreamException {
- expect(reader.getAttributeValue(null, "script")).andReturn("foo.groovy");
- expect(deploymentContext.getClassLoader()).andReturn(classLoader);
-
- replay(reader);
- replay(deploymentContext);
-
- ImplementationLoader mockLoader = new ImplementationLoader(registry) {
- protected String loadSource(ClassLoader cl, String resource) throws LoaderException {
- assertSame(classLoader, cl);
- assertEquals("foo.groovy", resource);
- throw new MissingResourceException(resource);
- }
- };
- try {
- mockLoader.load(parent, reader, deploymentContext);
- fail();
- } catch (MissingResourceException e) {
- assertEquals("foo.groovy", e.getMessage());
- }
- verify(reader);
- verify(deploymentContext);
- }
-
- public void testLoadScript() throws LoaderException {
- String script = loader.loadSource(getClass().getClassLoader(),
- "org/apache/tuscany/container/groovy/mock/TestScript.groovy");
- assertEquals("Test Script", script);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- registry = createMock(LoaderRegistry.class);
- loader = new ImplementationLoader(registry);
-
- parent = createMock(CompositeComponent.class);
- reader = createMock(XMLStreamReader.class);
- deploymentContext = createMock(DeploymentContext.class);
- classLoader = createMock(ClassLoader.class);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/PropertyTestCase.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/PropertyTestCase.java
deleted file mode 100644
index 9b828db7eb..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/PropertyTestCase.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-
-import groovy.lang.GroovyClassLoader;
-import groovy.lang.GroovyObject;
-import junit.framework.TestCase;
-import org.apache.tuscany.container.groovy.mock.Greeting;
-import static org.apache.tuscany.test.ArtifactFactory.createWireService;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.getCurrentArguments;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import org.easymock.IAnswer;
-
-/**
- * @version $$Rev$$ $$Date$$
- */
-public class PropertyTestCase extends TestCase {
-
- private static final String SCRIPT = "import org.apache.tuscany.container.groovy.mock.Greeting;"
- + "class Foo implements Greeting{"
- + " String property;"
- + " public String greet(String name){"
- + " return property; "
- + " }"
- + "}";
-
- private ScopeContainer scopeContainer;
- private Class<? extends GroovyObject> implClass;
-
- /**
- * Tests injecting a simple property type on a Groovy implementation instance
- */
- public void testPropertyInjection() throws Exception {
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- GroovyConfiguration configuration = new GroovyConfiguration();
- configuration.setName("source");
- configuration.setGroovyClass(implClass);
- configuration.setServices(services);
- configuration.setScopeContainer(scopeContainer);
- configuration.setWireService(createWireService());
- GroovyAtomicComponent component = new GroovyAtomicComponent(configuration, null);
- ObjectFactory<?> factory = createMock(ObjectFactory.class);
- expect((String) factory.getInstance()).andReturn("bar");
- replay(factory);
- component.addPropertyFactory("property", factory);
- Greeting greeting = (Greeting) component.getServiceInstance();
- assertEquals("bar", greeting.greet("foo"));
- }
-
- @SuppressWarnings("unchecked")
- protected void setUp() throws Exception {
- super.setUp();
- GroovyClassLoader cl = new GroovyClassLoader(getClass().getClassLoader());
- implClass = cl.parseClass(SCRIPT);
- scopeContainer = createMock(ScopeContainer.class);
- expect(scopeContainer.getInstance(isA(AtomicComponent.class))).andStubAnswer(new IAnswer() {
- public Object answer() throws Throwable {
- return ((AtomicComponent) getCurrentArguments()[0]).createInstance();
- }
- });
- replay(scopeContainer);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ScriptInvokeTestCase.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ScriptInvokeTestCase.java
deleted file mode 100644
index f0ae7deb33..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/ScriptInvokeTestCase.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-
-import groovy.lang.GroovyClassLoader;
-import groovy.lang.GroovyObject;
-import junit.framework.TestCase;
-import org.apache.tuscany.container.groovy.mock.Greeting;
-import static org.apache.tuscany.test.ArtifactFactory.createWireService;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.getCurrentArguments;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import org.easymock.IAnswer;
-
-/**
- * @version $$Rev$$ $$Date$$
- */
-public class ScriptInvokeTestCase extends TestCase {
-
- private static final String SCRIPT = "def greet(name) { return name }";
-
- private Class<? extends GroovyObject> implClass;
- private ScopeContainer scopeContainer;
-
- /**
- * Tests the invocation of a Groovy "script" as opposed to a class
- */
- public void testBasicScriptInvocation() throws Exception {
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- GroovyConfiguration configuration = new GroovyConfiguration();
- configuration.setName("source");
- configuration.setGroovyClass(implClass);
- configuration.setServices(services);
- configuration.setScopeContainer(scopeContainer);
- configuration.setWireService(createWireService());
- GroovyAtomicComponent context = new GroovyAtomicComponent(configuration, null);
- GroovyObject object = (GroovyObject) context.getServiceInstance();
- assertEquals("foo", object.invokeMethod("greet", "foo"));
- }
-
- @SuppressWarnings("unchecked")
- protected void setUp() throws Exception {
- super.setUp();
- GroovyClassLoader cl = new GroovyClassLoader(getClass().getClassLoader());
- implClass = cl.parseClass(SCRIPT);
- scopeContainer = createMock(ScopeContainer.class);
- expect(scopeContainer.getInstance(isA(AtomicComponent.class))).andStubAnswer(new IAnswer() {
- public Object answer() throws Throwable {
- return ((AtomicComponent) getCurrentArguments()[0]).createInstance();
- }
- });
- replay(scopeContainer);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/WireTestCase.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/WireTestCase.java
deleted file mode 100644
index 79f37f514c..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/WireTestCase.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InboundInvocationChain;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.MessageImpl;
-import org.apache.tuscany.spi.wire.OutboundInvocationChain;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-import groovy.lang.GroovyClassLoader;
-import groovy.lang.GroovyObject;
-import junit.framework.TestCase;
-import org.apache.tuscany.container.groovy.mock.Greeting;
-import static org.apache.tuscany.test.ArtifactFactory.createInboundWire;
-import static org.apache.tuscany.test.ArtifactFactory.createOutboundWire;
-import static org.apache.tuscany.test.ArtifactFactory.createWireService;
-import static org.apache.tuscany.test.ArtifactFactory.terminateWire;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.getCurrentArguments;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.reportMatcher;
-import static org.easymock.EasyMock.verify;
-import org.easymock.IAnswer;
-import org.easymock.IArgumentMatcher;
-
-/**
- * @version $$Rev$$ $$Date$$
- */
-public class WireTestCase extends TestCase {
-
- private static final String SCRIPT = "import org.apache.tuscany.container.groovy.mock.Greeting;"
- + "class Foo implements Greeting{"
- + " Greeting wire;"
- + " "
- + " void setWire(Greeting ref){"
- + " wire = ref;"
- + " };"
- + " "
- + " String greet(String name){"
- + " return wire.greet(name); "
- + " };"
- + "}";
-
- private static final String SCRIPT2 = "import org.apache.tuscany.container.groovy.mock.Greeting;"
- + "class Foo implements Greeting{"
- + " public String greet(String name){"
- + " return name; "
- + " }"
- + "}";
-
- private Class<? extends GroovyObject> implClass1;
- private Class<? extends GroovyObject> implClass2;
- private ScopeContainer scopeContainer;
-
- /**
- * Tests a basic invocation down a source wire
- */
- public void testReferenceWireInvocation() throws Exception {
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- GroovyConfiguration configuration = new GroovyConfiguration();
- configuration.setName("source");
- configuration.setGroovyClass(implClass1);
- configuration.setServices(services);
- configuration.setScopeContainer(scopeContainer);
- configuration.setWireService(createWireService());
- GroovyAtomicComponent component = new GroovyAtomicComponent(configuration, null);
- OutboundWire wire = createOutboundWire("wire", Greeting.class);
- terminateWire(wire);
-
- TargetInvoker invoker = createMock(TargetInvoker.class);
- expect(invoker.isCacheable()).andReturn(false);
- Message response = new MessageImpl();
- response.setBody("foo");
- expect(invoker.invoke(eqMessage())).andReturn(response);
- replay(invoker);
-
- for (OutboundInvocationChain chain : wire.getInvocationChains().values()) {
- chain.setTargetInvoker(invoker);
- }
- component.addOutboundWire(wire);
- Greeting greeting = (Greeting) component.getServiceInstance();
- assertEquals("foo", greeting.greet("foo"));
- verify(invoker);
- }
-
- // todo this could be generalized and moved to test module
- public static Message eqMessage() {
- reportMatcher(new IArgumentMatcher() {
- public boolean matches(Object object) {
- if (!(object instanceof Message)) {
- return false;
- }
- final Message msg = (Message) object;
- Object[] body = (Object[]) msg.getBody();
- return "foo".equals(body[0]);
- }
-
- public void appendTo(StringBuffer stringBuffer) {
- }
- });
- return null;
- }
-
-
- /**
- * Tests a basic invocation to a target
- */
- public void testTargetInvocation() throws Exception {
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- GroovyConfiguration configuration = new GroovyConfiguration();
- configuration.setName("source");
- configuration.setGroovyClass(implClass2);
- configuration.setServices(services);
- configuration.setScopeContainer(scopeContainer);
- configuration.setWireService(createWireService());
- GroovyAtomicComponent component = new GroovyAtomicComponent(configuration, null);
- Operation<Type> operation = new Operation<Type>("greet", null, null, null, false, null);
- TargetInvoker invoker = component.createTargetInvoker(null, operation);
- assertEquals("foo", invoker.invokeTarget(new String[]{"foo"}));
- }
-
-
- /**
- * Tests a basic invocation down a target wire
- */
- public void testTargetWireInvocation() throws Exception {
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- GroovyConfiguration configuration = new GroovyConfiguration();
- configuration.setName("source");
- configuration.setGroovyClass(implClass2);
- configuration.setServices(services);
- configuration.setScopeContainer(scopeContainer);
- configuration.setWireService(createWireService());
- GroovyAtomicComponent component = new GroovyAtomicComponent(configuration, null);
- InboundWire wire = createInboundWire("Greeting", Greeting.class);
- terminateWire(wire);
- for (InboundInvocationChain chain : wire.getInvocationChains().values()) {
- chain.setTargetInvoker(component.createTargetInvoker(null, chain.getOperation()));
- }
- component.addInboundWire(wire);
- Greeting greeting = (Greeting) component.getServiceInstance("Greeting");
- assertEquals("foo", greeting.greet("foo"));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- GroovyClassLoader cl = new GroovyClassLoader(getClass().getClassLoader());
- implClass1 = cl.parseClass(SCRIPT);
- implClass2 = cl.parseClass(SCRIPT2);
- scopeContainer = createMock(ScopeContainer.class);
- expect(scopeContainer.getInstance(isA(AtomicComponent.class))).andStubAnswer(new IAnswer() {
- public Object answer() throws Throwable {
- return ((AtomicComponent) getCurrentArguments()[0]).createInstance();
- }
- });
- replay(scopeContainer);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java
deleted file mode 100644
index 8918c3dfd5..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/AsyncTarget.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy.mock;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface AsyncTarget {
-
- void invoke();
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/Greeting.java b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/Greeting.java
deleted file mode 100644
index b975491f16..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/mock/Greeting.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.groovy.mock;
-
-public interface Greeting {
-
- String setWire(Greeting ref);
- String greet(String name);
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 2a04ae7a6c..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:groovy="http://incubator.apache.org/tuscany/xmlns/container/groovy/1.0-incubator-M2"
- name="groovy.test">
-
- <component name="Greeting">
- <groovy:implementation.groovy script="Foo.groovy"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/resources/org/apache/tuscany/container/groovy/mock/TestScript.groovy b/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/resources/org/apache/tuscany/container/groovy/mock/TestScript.groovy
deleted file mode 100644
index f0b0a3a9d4..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.groovy/src/test/resources/org/apache/tuscany/container/groovy/mock/TestScript.groovy
+++ /dev/null
@@ -1 +0,0 @@
-Test Script \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/LICENSE.txt b/branches/sca-java-M2/sca/services/containers/container.javascript/LICENSE.txt
deleted file mode 100644
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/NOTICE.txt b/branches/sca-java-M2/sca/services/containers/container.javascript/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/pom.xml b/branches/sca-java-M2/sca/services/containers/container.javascript/pom.xml
deleted file mode 100644
index f01f232c8f..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/pom.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <parent>
- <groupId>org.apache.tuscany.sca.services.containers</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>javascript</artifactId>
- <name>Apache Tuscany JavaScript Container</name>
- <description>Apache Tuscany JavaScript Container</description>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>core</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>wsdl</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>rhino</groupId>
- <artifactId>js</artifactId>
- <version>1.6R2</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>xmlbeans</groupId>
- <artifactId>xbean</artifactId> <!-- Reqd for E4X -->
- <version>2.1.0</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-impl</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- </dependency>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- <version>2.1_3</version>
- <scope>compile</scope>
- </dependency>
-
- </dependencies>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java
deleted file mode 100644
index 9872788a05..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponent.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.spi.ObjectCreationException;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.extension.AtomicComponentExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-
-import org.apache.tuscany.container.javascript.rhino.RhinoScript;
-import org.apache.tuscany.container.javascript.rhino.RhinoScriptInstance;
-
-/**
- * The JavaScript component implementation.
- */
-public class JavaScriptComponent extends AtomicComponentExtension {
-
- private final List<Class<?>> services;
-
- private final Map<String, Object> properties;
-
- private RhinoScript rhinoScript;
-
- public JavaScriptComponent(String name, RhinoScript rhinoScript, Map<String, Object> properties, List<Class<?>> services,
- CompositeComponent parent, ScopeContainer scopeContainer, WireService wireService,
- WorkContext workContext) {
- super(name, parent, scopeContainer, wireService, workContext, null, 0);
-
- this.rhinoScript = rhinoScript;
- this.services = services;
- this.scope = scopeContainer.getScope();
- this.properties = properties;
- }
-
- public Object createInstance() throws ObjectCreationException {
-
- Map<String, Object> context = new HashMap<String, Object>(getProperties());
-
- for (List<OutboundWire> referenceWires : getOutboundWires().values()) {
- for (OutboundWire wire : referenceWires) {
- Object wireProxy = wireService.createProxy(wire);
- //since all types that may be used in the reference interface may not be known to Rhino
- //using the wireProxy as is will fail result in type conversion exceptions in cases where
- //Rhino does not know enough of the tpypes used. Hence introduce a interceptor proxy,
- //with weak typing (java.lang.Object) so that Rhino's call to the proxy succeeds. Then
- //within this interceptor proxy perform data mediations required to correctly call the
- //referenced service.
- Class<?> businessInterface = wire.getServiceContract().getInterfaceClass();
- JavaScriptReferenceProxy interceptingProxy =
- new JavaScriptReferenceProxy(businessInterface,
- wireProxy,
- rhinoScript.createInstanceScope(context));
- context.put(wire.getReferenceName(), interceptingProxy.createProxy());
-
- }
- }
-
- return rhinoScript.createRhinoScriptInstance(context);
- }
-
- public TargetInvoker createTargetInvoker(String targetName, Operation operation) {
- return new JavaScriptInvoker(operation.getName(), (Class)operation.getOutputType().getLogical(), this);
- }
-
- // TODO: move all the following up to AtomicComponentExtension?
-
- public List<Class<?>> getServiceInterfaces() {
- return services;
- }
-
- public Map<String, Object> getProperties() {
- return properties;
- }
-
- public RhinoScriptInstance getTargetInstance() throws TargetException {
- return (RhinoScriptInstance) scopeContainer.getInstance(this);
- }
-
- public Object getServiceInstance() throws TargetException {
- return getServiceInstance(null);
- }
-
- public Object getServiceInstance(String service) throws TargetException {
- InboundWire wire = getInboundWire(service);
- if (wire == null) {
- TargetException e = new TargetException("ServiceDefinition not found"); // TODO better error message
- e.setIdentifier(service);
- throw e;
- }
- return wireService.createProxy(wire);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentBuilder.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentBuilder.java
deleted file mode 100644
index 1987026e59..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentBuilder.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.container.javascript.rhino.RhinoScript;
-import org.apache.tuscany.container.javascript.utils.xmlfromxsd.XmlInstanceRegistry;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.PropertyValue;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-import org.apache.xmlbeans.XmlObject;
-import org.osoa.sca.annotations.Constructor;
-
-/**
- * Extension point for creating {@link JavaScriptComponent}s from an assembly configuration
- */
-public class JavaScriptComponentBuilder extends ComponentBuilderExtension<JavaScriptImplementation> {
-
- private static String head = "var xmlInstanceMap = new Array();";
-
- private static String part1 = "xmlInstanceMap[\"";
-
- private static String part2 = "\"] = ";
-
- private static String part3 = ";";
-
- private static String getXmlObjectFunction =
- "function getXmlObject(xmlElementNamespace, xmlElementName){\n" +
- "return xmlInstanceMap[xmlElementNamespace + \"#\" + xmlElementName];\n}";
-
- XmlInstanceRegistry xmlInstRegistry;
-
- @Constructor({"xmlInstRegistry"})
- public JavaScriptComponentBuilder(@Autowire XmlInstanceRegistry reg) {
- this.xmlInstRegistry = reg;
- }
-
- protected Class<JavaScriptImplementation> getImplementationType() {
- return JavaScriptImplementation.class;
- }
-
- @SuppressWarnings("unchecked")
- public Component build(CompositeComponent parent, ComponentDefinition<JavaScriptImplementation> componentDefinition,
- DeploymentContext deploymentContext) throws BuilderConfigException {
-
- String name = componentDefinition.getName();
- JavaScriptImplementation implementation = componentDefinition.getImplementation();
- JavaScriptComponentType componentType = implementation.getComponentType();
-
- // get list of services provided by this component
- Collection<ServiceDefinition> collection = componentType.getServices().values();
- List<Class<?>> services = new ArrayList<Class<?>>(collection.size());
- for (ServiceDefinition serviceDefinition : collection) {
- services.add(serviceDefinition.getServiceContract().getInterfaceClass());
- //do this for the set of references also
- enhanceRhinoScript(serviceDefinition, implementation);
- }
-
- // get the properties for the component
- Collection<PropertyValue<?>> propertyValues = componentDefinition.getPropertyValues().values();
- Map<String, Object> properties = new HashMap<String, Object>();
- for (PropertyValue propertyValue : propertyValues) {
- properties.put(propertyValue.getName(), propertyValue.getValueFactory().getInstance());
- }
-
- RhinoScript rhinoScript = implementation.getRhinoScript();
-
- // TODO: have ComponentBuilderExtension pass ScopeContainer in on build method?
- ScopeContainer scopeContainer;
- Scope scope = componentType.getLifecycleScope();
- if (Scope.MODULE == scope) {
- scopeContainer = deploymentContext.getModuleScope();
- } else {
- scopeContainer = scopeRegistry.getScopeContainer(scope);
- }
-
- return new JavaScriptComponent(name, rhinoScript, properties, services, parent, scopeContainer, wireService, workContext);
- }
-
- private void enhanceRhinoScript(ServiceDefinition serviceDefn, JavaScriptImplementation implementation) throws BuilderConfigException {
- //if the service interface of the component is a wsdl get the wsdl interface and generate
- //xml instances for the elements in it. Add these xml instances to the rhinoscript.
- //TODO : when interface.wsdl and wsdl registry is integrated remove this hardcoding and
- //obtain wsdl from the interface.wsdl or wsdl registry
- String wsdlPath = "org/apache/tuscany/container/javascript/rhino/helloworld.wsdl";
-
- //this if block is a tempfix to get other testcases working. Again when a the interface.wsdl
- //extension is in place this will be deleted. Right now this is the only way we know that
- //a js has to do with an interface that is wsdl.
- if (!implementation.getRhinoScript().getScriptName().endsWith("e4x.js")) {
- return;
- }
-
- try {
- Map<String, XmlObject> xmlInstanceMap = xmlInstRegistry.getXmlInstance(wsdlPath);
- StringBuffer sb = new StringBuffer();
-
- sb.append(head);
- sb.append("\n");
- for (String xmlInstanceKey : xmlInstanceMap.keySet()) {
- sb.append(part1);
- sb.append(xmlInstanceKey);
- sb.append(part2);
- sb.append(xmlInstanceMap.get(xmlInstanceKey).toString());
- sb.append(part3);
- sb.append("\n");
- }
- // System.out.println(" **** - " + sb.toString());
-
- sb.append(getXmlObjectFunction);
-
- RhinoScript rhinoScript = implementation.getRhinoScript();
- sb.append(rhinoScript.getScript());
- rhinoScript.setScript(sb.toString());
- rhinoScript.initScriptScope(rhinoScript.getScriptName(), sb.toString(), null, rhinoScript.getClassLoader());
- implementation.setRhinoScript(rhinoScript);
-
- } catch (Exception e) {
- throw new BuilderConfigException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentType.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentType.java
deleted file mode 100644
index 31a4db14b6..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentType.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-public class JavaScriptComponentType extends ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> {
-
- private Scope lifecycleScope = Scope.MODULE;
-
- public JavaScriptComponentType() {
- }
-
- @SuppressWarnings("unchecked")
- public JavaScriptComponentType(ComponentType ct) {
- // TODO: A bit hacky but this is so the non-JavaScript .componentType side file can be used for now
- setInitLevel(ct.getInitLevel());
- for (Object property : ct.getProperties().values()) {
- add((Property)property);
- }
- for (Object reference : ct.getReferences().values()) {
- add((ReferenceDefinition)reference);
- }
- for (Object service : ct.getServices().values()) {
- add((ServiceDefinition)service);
- }
- }
-
- public Scope getLifecycleScope() {
- return lifecycleScope;
- }
-
- public void setLifecycleScope(Scope lifecycleScope) {
- this.lifecycleScope = lifecycleScope;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentTypeLoader.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentTypeLoader.java
deleted file mode 100644
index e28daeceb0..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptComponentTypeLoader.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.net.URL;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentTypeLoaderExtension;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.idl.java.JavaInterfaceProcessorRegistry;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.apache.tuscany.spi.model.ComponentType;
-
-import org.apache.tuscany.container.javascript.rhino.RhinoSCAConfig;
-import org.apache.tuscany.container.javascript.rhino.RhinoScript;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JavaScriptComponentTypeLoader extends ComponentTypeLoaderExtension<JavaScriptImplementation> {
-
- private JavaInterfaceProcessorRegistry processorRegistry;
-
- public JavaScriptComponentTypeLoader(@Autowire JavaInterfaceProcessorRegistry processorRegistry) {
- this.processorRegistry = processorRegistry;
- }
-
- @Override
- protected Class<JavaScriptImplementation> getImplementationClass() {
- return JavaScriptImplementation.class;
- }
-
- protected JavaScriptComponentType loadByIntrospection(CompositeComponent parent,
- JavaScriptImplementation implementation,
- DeploymentContext deploymentContext) throws
- MissingResourceException,
- InvalidServiceContractException {
-
- RhinoScript rhinoScript = implementation.getRhinoScript();
- RhinoSCAConfig scaConfig = rhinoScript.getSCAConfig();
- if (!scaConfig.hasSCAConfig()) {
- throw new IllegalArgumentException(
- "must use either .componentType side file or JS SCA varriable definition");
- }
-
- // FIXME this should be a system service, not instantiated here
- JavaScriptComponentType componentType = new JavaScriptIntrospector(null, processorRegistry)
- .introspectScript(scaConfig, rhinoScript.getClassLoader());
-
- return componentType;
- }
-
- protected String getResourceName(JavaScriptImplementation implementation) {
- return implementation.getRhinoScript().getScriptName();
- }
-
- // TODO: must be possible to move all the following up in to ComponentTypeLoaderExtension
-
- public void load(CompositeComponent parent, JavaScriptImplementation implementation,
- DeploymentContext deploymentContext)
- throws LoaderException {
-
- URL resource = implementation.getRhinoScript().getClassLoader().getResource(getSideFileName(implementation));
- JavaScriptComponentType componentType;
- if (resource == null) {
- try {
- componentType = loadByIntrospection(parent, implementation, deploymentContext);
- } catch (InvalidServiceContractException e) {
- throw new LoaderException("Invalid service contract", e);
- }
- } else {
- componentType = loadFromSidefile(resource, deploymentContext);
- }
-
- implementation.setComponentType(componentType);
- }
-
- protected JavaScriptComponentType loadFromSidefile(URL url, DeploymentContext deploymentContext)
- throws LoaderException {
- ComponentType ct = loaderRegistry.load(null, url, ComponentType.class, deploymentContext);
- JavaScriptComponentType jsct = new JavaScriptComponentType(ct);
- return jsct;
- }
-
- private String getSideFileName(JavaScriptImplementation implementation) {
- String baseName = getResourceName(implementation);
- int lastDot = baseName.lastIndexOf('.');
- if (lastDot != -1) {
- baseName = baseName.substring(0, lastDot);
- }
- return baseName + ".componentType";
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptImplementation.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptImplementation.java
deleted file mode 100644
index 7de479f096..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptImplementation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import org.apache.tuscany.container.javascript.rhino.RhinoScript;
-import org.apache.tuscany.spi.model.AtomicImplementation;
-
-/**
- * Model object for a JavaScript implementation.
- */
-public class JavaScriptImplementation extends AtomicImplementation<JavaScriptComponentType> {
-
- private RhinoScript rhinoScript;
-
- public RhinoScript getRhinoScript() {
- return rhinoScript;
- }
-
- public void setRhinoScript(RhinoScript rhinoScript) {
- this.rhinoScript = rhinoScript;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptImplementationLoader.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptImplementationLoader.java
deleted file mode 100644
index 67cc35afc2..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptImplementationLoader.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.URL;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.container.javascript.rhino.RhinoScript;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.osoa.sca.annotations.Constructor;
-
-/**
- * Loader for handling JavaScript <js:implementation.js> elements.
- */
-public class JavaScriptImplementationLoader extends LoaderExtension<JavaScriptImplementation> {
- private static final QName IMPLEMENTATION_JAVASCRIPT =
- new QName("http://incubator.apache.org/tuscany/xmlns/container/js/1.0-incubator-M2", "implementation.js");
-
- @Constructor({"registry"})
- public JavaScriptImplementationLoader(@Autowire LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return IMPLEMENTATION_JAVASCRIPT;
- }
-
- public JavaScriptImplementation load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
-
- String script = reader.getAttributeValue(null, "script");
- if (script == null) {
- throw new MissingResourceException("No script supplied");
- }
-
- ClassLoader cl = deploymentContext.getClassLoader();
- String source = loadSource(cl, script);
-
- LoaderUtil.skipToEndElement(reader);
-
- JavaScriptImplementation implementation = new JavaScriptImplementation();
- RhinoScript rhinoScript = new RhinoScript(script, source, null, cl);
- implementation.setRhinoScript(rhinoScript);
- registry.loadComponentType(parent, implementation, deploymentContext);
- return implementation;
- }
-
- protected String loadSource(ClassLoader cl, String resource) throws LoaderException {
- URL url = cl.getResource(resource);
- if (url == null) {
- throw new MissingResourceException(resource);
- }
- InputStream is;
- try {
- is = url.openStream();
- } catch (IOException e) {
- MissingResourceException mre = new MissingResourceException(resource, e);
- mre.setIdentifier(resource);
- throw mre;
- }
- try {
- Reader reader = new InputStreamReader(is, "UTF-8");
- char[] buffer = new char[1024];
- StringBuilder source = new StringBuilder();
- int count;
- while ((count = reader.read(buffer)) > 0) {
- source.append(buffer, 0, count);
- }
- return source.toString();
- } catch (IOException e) {
- LoaderException le = new LoaderException(e);
- le.setIdentifier(resource);
- throw le;
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java
deleted file mode 100644
index 542504b62e..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptIntrospector.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.util.Iterator;
-import java.util.Map;
-import javax.wsdl.Definition;
-import javax.wsdl.PortType;
-import javax.wsdl.WSDLException;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.idl.java.JavaInterfaceProcessorRegistry;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-import org.apache.tuscany.container.javascript.rhino.RhinoSCAConfig;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
-
-/**
- * Introspects JavaScript files for SCA configuration
- */
-public class JavaScriptIntrospector {
-
- private WSDLDefinitionRegistry wsdlRegistry;
- private JavaInterfaceProcessorRegistry processorRegistry;
-
- public JavaScriptIntrospector(@Autowire WSDLDefinitionRegistry wsdlRegistry,
- @Autowire JavaInterfaceProcessorRegistry processorRegistry) {
- this.wsdlRegistry = wsdlRegistry;
- this.processorRegistry = processorRegistry;
- }
-
- public JavaScriptComponentType introspectScript(RhinoSCAConfig scaConfig, ClassLoader cl)
- throws MissingResourceException, InvalidServiceContractException {
- JavaScriptComponentType componentType = new JavaScriptComponentType();
- introspectJavaInterface(componentType, cl, scaConfig.getJavaInterface());
- introspectWSDLInterface(componentType, cl, scaConfig.getWSDLNamespace(), scaConfig.getWSDLPortType(),
- scaConfig.getWSDLLocation());
- introspectReferences(componentType, cl, scaConfig.getReferences());
- introspectProperties(componentType, cl, scaConfig.getProperties());
- introspectScope(componentType, scaConfig.getScope());
- return componentType;
- }
-
- private void introspectScope(JavaScriptComponentType componentType, Scope scope) {
- if (scope != null) {
- componentType.setLifecycleScope(scope);
- }
- }
-
- @SuppressWarnings("unchecked")
- private void introspectJavaInterface(ComponentType componentType, ClassLoader cl, String serviceClass)
- throws MissingResourceException, InvalidServiceContractException {
- if (serviceClass != null) {
- ServiceDefinition service = new ServiceDefinition();
- try {
- ServiceContract<?> sc = processorRegistry.introspect(Class.forName(serviceClass));
- service.setServiceContract(sc);
- componentType.add(service);
- } catch (ClassNotFoundException e) {
- throw new MissingResourceException("Interface not found", e);
- }
- }
- }
-
- @SuppressWarnings("unchecked")
- private void introspectWSDLInterface(ComponentType componentType, ClassLoader cl, String wsdlNamespace,
- String wsdlPortType, String wsdlLocation) {
- if (wsdlNamespace == null && wsdlPortType == null && wsdlLocation == null) {
- return;
- }
-
- PortType portType = null;
- if (wsdlLocation != null) {
- portType = readWSDLPortType(wsdlNamespace, wsdlPortType, wsdlLocation, portType);
- } else {
- portType = getPortType(wsdlNamespace, wsdlPortType);
- }
-
- ServiceDefinition service = new ServiceDefinition();
- WSDLServiceContract wsdlSC = new WSDLServiceContract();
- wsdlSC.setPortType(portType);
- service.setServiceContract(wsdlSC);
- componentType.add(service);
- }
-
- private PortType readWSDLPortType(String wsdlNamespace, String wsdlPortType, String wsdlLocation,
- PortType portType) {
- Definition wsdlDefinition;
- try {
- WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- wsdlDefinition = reader.readWSDL(wsdlLocation.toString());
- } catch (WSDLException e) {
- throw new RuntimeException(e);
-
- }
- Map portTypes = wsdlDefinition.getPortTypes();
- for (Iterator i = portTypes.keySet().iterator(); i.hasNext();) {
- QName portTypeQN = (QName) i.next();
- if (wsdlNamespace != null) {
- if (!portTypeQN.getNamespaceURI().equals(wsdlNamespace)) {
- continue;
- }
- }
- if (wsdlPortType != null) {
- if (!portTypeQN.getLocalPart().equals(wsdlPortType)) {
- continue;
- }
- }
- if (portType != null) {
- throw new RuntimeException("multiple matching portTypes in wsdl: " + wsdlLocation);
- }
- portType = (PortType) portTypes.get(portTypeQN);
- }
- if (portType == null) {
- throw new RuntimeException("portType not found in wsdl: " + wsdlLocation);
- }
- return portType;
- }
-
- private PortType getPortType(String wsdlNamespace, String wsdlPortType) {
- if (wsdlPortType == null) {
- throw new IllegalArgumentException("must specify the wsdlPortType in script SCA config");
- }
- PortType portType = null;
- if (wsdlNamespace != null) {
- QName portTypeQN = new QName(wsdlNamespace.toString(), wsdlPortType.toString());
- portType = wsdlRegistry.getPortType(portTypeQN);
- if (portType == null) {
- throw new IllegalArgumentException("no WSDL registered for portType: " + portTypeQN);
- }
- } else {
- // wsdlRegistry.getPortType(wsdlPortType.toString());
- if (portType == null) {
- throw new IllegalArgumentException("no WSDL registered for portType:" + wsdlPortType);
- }
- }
- return portType;
- }
-
-
- private void introspectProperties(ComponentType componentType, ClassLoader cl, Map properties) {
- }
-
- private void introspectReferences(ComponentType componentType, ClassLoader cl, Map references) {
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptInvoker.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptInvoker.java
deleted file mode 100644
index 281b417d64..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptInvoker.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.tuscany.container.javascript.rhino.RhinoScriptInstance;
-import org.apache.tuscany.spi.extension.TargetInvokerExtension;
-
-/**
- * Dispatches to a JavaScript implementation instance
- *
- * @version $$Rev$$ $$Date$$
- */
-public class JavaScriptInvoker extends TargetInvokerExtension {
-
- private JavaScriptComponent context;
-
- private String functionName;
-
- private Class responseClass;
-
- public JavaScriptInvoker(String functionName, Class respClass, JavaScriptComponent context) {
- this.functionName = functionName;
- this.context = context;
- this.responseClass = respClass;
- }
-
- /**
- * Invokes a function on a script instance
- */
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
- RhinoScriptInstance target = context.getTargetInstance();
- return target.invokeFunction(functionName, (Object[]) payload, responseClass);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptRefInvocInterceptor.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptRefInvocInterceptor.java
deleted file mode 100644
index f8c978f833..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptRefInvocInterceptor.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.io.ByteArrayInputStream;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.util.StAXUtils;
-import org.apache.xmlbeans.XmlObject;
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.Scriptable;
-import org.mozilla.javascript.ScriptableObject;
-import org.mozilla.javascript.Wrapper;
-import org.mozilla.javascript.xml.XMLObject;
-
-/**
- * This Interceptor encasulates the data mediation required by the JavaScriptReferenceProxy. The
- * invocation handler of this class traps the javascript reference calls, performs data mediation
- * and calls then calls the actual referred service. This classes implementation is subject to
- * review and change when the DataMediation infrastructure of Tuscany is ready.
- *
- */
-public class JavaScriptRefInvocInterceptor implements InvocationHandler {
- private Object actualProxy;
-
- private Class wireInterface;
-
- private Scriptable instanceScope;
-
- JavaScriptRefInvocInterceptor(Object wireProxy, Class wireIfc, Scriptable instScope) {
- this.actualProxy = wireProxy;
- this.wireInterface = wireIfc;
- this.instanceScope = instScope;
- }
-
- public Object invoke(Object arg0, Method method, Object[] args) throws Throwable {
- // TODO Auto-generated method stub
- Context cx = Context.enter();
- try {
- Method invokedMethod = getInvokedMethod(method.getName());
- Object[] tranformedArgs = new Object[args.length];
- for (int count = 0; count < args.length; ++count) {
- tranformedArgs[count] = fromJavaScript(invokedMethod.getParameterTypes()[count], args[count]);
- }
-
- Object response = invokedMethod.invoke(actualProxy, tranformedArgs);
- response = toJavaScript(response, instanceScope, cx);
- return response;
- } finally {
- Context.exit();
- }
- }
-
- private Method getInvokedMethod(String methodName) {
- Method[] methods = wireInterface.getMethods();
-
- for (int count = 0; count < methods.length; ++count) {
- if (methods[count].getName().equals(methodName)) {
- return methods[count];
- }
- }
- throw new RuntimeException("Unable to find invocation method");
- }
-
- protected Object fromJavaScript(Class reqArgType, Object jsArg) throws Exception {
- Object javaArg;
- if (Context.getUndefinedValue().equals(jsArg)) {
- javaArg = null;
- } else if (jsArg instanceof XMLObject) {
- // TODO: E4X Bug? Shouldn't need this copy, but without it the outer element gets lost???
- Scriptable jsXML = (Scriptable) ScriptableObject.callMethod((Scriptable) jsArg, "copy", new Object[0]);
- Wrapper wrapper = (Wrapper) ScriptableObject.callMethod(jsXML, "getXmlObject", new Object[0]);
- javaArg = wrapper.unwrap();
-
- XMLStreamReader xmlReader = StAXUtils.createXMLStreamReader(new ByteArrayInputStream(javaArg.toString().getBytes()));
- StAXOMBuilder staxOMBuilder = new StAXOMBuilder(OMAbstractFactory.getOMFactory(), xmlReader);
- javaArg = staxOMBuilder.getDocumentElement();
- } else if (jsArg instanceof Wrapper) {
- javaArg = ((Wrapper) jsArg).unwrap();
- } else {
- if (reqArgType != null) {
- javaArg = Context.jsToJava(jsArg, reqArgType);
- } else {
- javaArg = Context.jsToJava(jsArg, String.class);
- }
- }
-
- return javaArg;
- }
-
- protected Object toJavaScript(Object retVal, Scriptable scope, Context cx) throws RuntimeException {
- Object jsRetVal;
- if (retVal instanceof OMElement) {
- try {
- XmlObject xmlObject = XmlObject.Factory.parse(retVal.toString());
- Object jsXML = cx.getWrapFactory().wrap(cx, scope, xmlObject, XmlObject.class);
- jsRetVal = cx.newObject(scope, "XML", new Object[] { jsXML });
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- } else if (retVal instanceof XmlObject) {
- Object jsXML = cx.getWrapFactory().wrap(cx, scope, (XmlObject) retVal, XmlObject.class);
- jsRetVal = cx.newObject(scope, "XML", new Object[] { jsXML });
- } else {
- jsRetVal = Context.toObject(retVal, scope);
- }
-
- return jsRetVal;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptReferenceProxy.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptReferenceProxy.java
deleted file mode 100644
index 8b432872b8..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptReferenceProxy.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-import net.sf.cglib.asm.ClassWriter;
-import net.sf.cglib.asm.CodeVisitor;
-import net.sf.cglib.asm.Constants;
-import net.sf.cglib.asm.Type;
-
-import org.apache.tuscany.spi.wire.WireInvocationHandler;
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.Scriptable;
-import org.mozilla.javascript.ScriptableObject;
-import org.mozilla.javascript.Wrapper;
-import org.mozilla.javascript.xml.XMLObject;
-
-/**
- * This is a proxy that will mediate reference calls from the JavaScript. The mediation code here will be reviewed when the DataMediation
- * infrastructure is ready. This proxy assmes that there is no verloading of service methods on the reference interface i.e. there are no two service
- * methods that have the same method name or operation name.
- */
-public class JavaScriptReferenceProxy {
-
- private Class interfaze;
-
- private Object wireProxy;
-
- private Scriptable instanceScope;
-
- public JavaScriptReferenceProxy(Class interfaze, Object wireProxy, Scriptable instScope) {
- this.interfaze = interfaze;
- this.wireProxy = wireProxy;
- this.instanceScope = instScope;
- }
-
- public Object createProxy() {
- try {
- GenericProxyClassLoader classloader = new GenericProxyClassLoader();
- final byte[] byteCode = generateGenericInterface(interfaze);
-
- Class genericInterface = classloader.defineClass(byteCode);
- InvocationHandler proxyHandler = new JavaScriptRefInvocInterceptor(wireProxy,
- interfaze, instanceScope);
- // return genericInterface.cast(Proxy.newProxyInstance(classloader, new Class[]{genericInterface}, proxyHandler));
- return Proxy.newProxyInstance(classloader,
- new Class[]{genericInterface},
- proxyHandler);
- } catch (Exception e) {
- return null;
- }
- }
-
- private static byte[] generateGenericInterface(Class serviceInterface) {
- String interfazeName = serviceInterface.getCanonicalName();
- ClassWriter cw = new ClassWriter(false);
-
- cw.visit(Constants.V1_5,
- Constants.ACC_PUBLIC + Constants.ACC_ABSTRACT + Constants.ACC_INTERFACE,
- interfazeName.replace('.',
- '/'),
- "java/lang/Object",
- null,
- serviceInterface.getSimpleName() + ".java");
-
- StringBuffer argsAndReturn = new StringBuffer("(");
- Method[] methods = serviceInterface.getMethods();
- for (int count = 0; count < methods.length; ++count) {
- argsAndReturn = new StringBuffer("(");
- Class[] paramTypes = methods[count].getParameterTypes();
- Class returnType = methods[count].getReturnType();
-
- for (int paramCount = 0; paramCount < paramTypes.length; ++paramCount) {
- argsAndReturn.append(Type.getType(Object.class));
- }
- argsAndReturn.append(")");
- argsAndReturn.append(Type.getType(Object.class));
-
- Class[] exceptionTypes = methods[count].getExceptionTypes();
- String[] exceptions = new String[exceptionTypes.length];
- for (int excCount = 0; excCount < exceptionTypes.length; ++excCount) {
- exceptions[excCount] = exceptionTypes[excCount].getName();
- exceptions[excCount] = exceptions[excCount].replace('.',
- '/');
- }
-
- CodeVisitor cv = cw.visitMethod(Constants.ACC_PUBLIC + Constants.ACC_ABSTRACT,
- methods[count].getName(),
- argsAndReturn.toString(),
- exceptions,
- null);
- cw.visitEnd();
- }
-
- cw.visitEnd();
-
- return cw.toByteArray();
- }
-
- private class GenericProxyClassLoader extends ClassLoader {
- public Class defineClass(byte[] byteArray) {
- try {
- return defineClass(null,
- byteArray,
- 0,
- byteArray.length);
- } catch (Throwable e) {
- return null;
- }
- }
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoFunctionInvoker.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoFunctionInvoker.java
deleted file mode 100644
index b2064f9110..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoFunctionInvoker.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.rhino;
-
-import java.io.ByteArrayInputStream;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.util.StAXUtils;
-import org.apache.xmlbeans.XmlObject;
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.Function;
-import org.mozilla.javascript.Scriptable;
-import org.mozilla.javascript.ScriptableObject;
-import org.mozilla.javascript.Wrapper;
-import org.mozilla.javascript.xml.XMLObject;
-
-/**
- * An invoker for a specific function in a JavaScript script
- */
-public class RhinoFunctionInvoker {
-
- private Scriptable instanceScope;
-
- private Function function;
-
- private Class responseClass;
-
- public RhinoFunctionInvoker(Scriptable instanceScope, Function function, Class responseClass) {
- this.instanceScope = instanceScope;
- this.function = function;
- this.responseClass = responseClass;
- }
-
- public Object invoke(Object[] args) {
- Context cx = Context.enter();
- try {
-
- Object[] jsArgs = toJavaScript(args, instanceScope, cx);
- Object jsResponse = function.call(cx, instanceScope, instanceScope, jsArgs);
- Object response = fromJavaScript(jsResponse);
- return response;
-
- } catch ( Exception e ) {
- throw new RuntimeException(e);
- }
- finally {
- Context.exit();
- }
- }
-
- protected Object[] toJavaScript(Object[] arg, Scriptable scope, Context cx) throws RuntimeException {
- Object[] jsArgs;
- if (arg == null) {
- jsArgs = new Object[0];
- } else if (arg.length == 1 && arg[0] instanceof OMElement) {
- try {
- XmlObject xmlObject = XmlObject.Factory.parse(arg[0].toString());
- Object jsXML = cx.getWrapFactory().wrap(cx, scope, xmlObject, XmlObject.class);
- jsArgs = new Object[] { cx.newObject(scope, "XML", new Object[] { jsXML }) };
- } catch ( Exception e ) {
- throw new RuntimeException(e);
- }
- } else if (arg.length == 1 && arg[0] instanceof XmlObject) {
- Object jsXML = cx.getWrapFactory().wrap(cx, scope, (XmlObject)arg[0], XmlObject.class);
- jsArgs = new Object[] { cx.newObject(scope, "XML", new Object[] { jsXML }) };
- } else {
- jsArgs = new Object[arg.length];
- for (int i = 0; i < jsArgs.length; i++) {
- jsArgs[i] = Context.toObject(arg[i], scope);
- }
- }
-
- return jsArgs;
- }
-
- protected Object fromJavaScript(Object o) throws Exception {
- Object response;
- if (Context.getUndefinedValue().equals(o)) {
- response = null;
- } else if (o instanceof XMLObject) {
- // TODO: E4X Bug? Shouldn't need this copy, but without it the outer element gets lost???
- Scriptable jsXML = (Scriptable) ScriptableObject.callMethod((Scriptable) o, "copy", new Object[0]);
- Wrapper wrapper = (Wrapper) ScriptableObject.callMethod(jsXML, "getXmlObject", new Object[0]);
- response = wrapper.unwrap();
-
- XMLStreamReader xmlReader =
- StAXUtils.createXMLStreamReader(new ByteArrayInputStream(response.toString().getBytes()));
- StAXOMBuilder staxOMBuilder = new StAXOMBuilder(OMAbstractFactory.getOMFactory(), xmlReader);
- response = staxOMBuilder.getDocumentElement();
-
- } else if (o instanceof Wrapper) {
- response = ((Wrapper) o).unwrap();
- } else {
- if (responseClass != null) {
- response = Context.jsToJava(o, responseClass);
- } else {
- response = Context.jsToJava(o, String.class);
- }
- }
- return response;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java
deleted file mode 100644
index af27403c03..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.rhino;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tuscany.spi.model.Scope;
-import org.mozilla.javascript.Scriptable;
-import org.mozilla.javascript.UniqueTag;
-
-/**
- * Represents the variable defining the SCA aspects of the script
- * <code>
- * SCA = {
- * javaInterface : "my.pkg.ClassName",
- * wsdlPortType : "wsdlPortTypeName",
- * wsdlNameSpace : "http://my.namespace.com",
- * wsdlLocation : "\wsdl\mywsdl.txt",
- * properties : { "foo" : ["java.lang.String", "defaultValue"],},
- * references : {},
- * scope : 'stateless'|'request'|'conversational'|'composite',
- * }
- * </code>
- * The config must define the service with either javaInterface or wsdl. When
- * using wsdl the three parameters are optional. If wsdlLocation is used that is the
- * WSDL document used, and the namespace and portType parameters are only required if
- * the WSDL definition defines multiple portTypes.
- */
-public class RhinoSCAConfig {
-
- private boolean hasSCAConfig;
-
- private String javaInterface;
-
- private String wsdlLocation;
-
- private String wsdlNamespace;
-
- private String wsdlPortType;
-
- private Map properties;
-
- private Map references;
-
- private Scope scope;
-
- public RhinoSCAConfig(Scriptable scriptScope) {
- Object o = scriptScope.get("SCA", scriptScope);
- if (o != null && UniqueTag.NOT_FOUND != o) {
- hasSCAConfig = true;
- Scriptable scaVar = (Scriptable) o;
- o = scaVar.get("javaInterface", scriptScope);
- if (o != null && UniqueTag.NOT_FOUND != o) {
- this.javaInterface = o.toString();
- }
- o = scaVar.get("wsdlLocation", scriptScope);
- if (o != null && UniqueTag.NOT_FOUND != o) {
- this.wsdlLocation = o.toString();
- }
- o = scaVar.get("wsdlPortType", scriptScope);
- if (o != null && UniqueTag.NOT_FOUND != o) {
- this.wsdlPortType = o.toString();
- }
- o = scaVar.get("wsdlNamespace", scriptScope);
- if (o != null && UniqueTag.NOT_FOUND != o) {
- this.wsdlNamespace = o.toString();
- }
- if (javaInterface != null) {
- if (wsdlLocation != null || wsdlPortType != null || wsdlNamespace != null) {
- throw new IllegalArgumentException("script SCA config defines both Java and WSDL service interface");
- }
- } else {
- if (wsdlLocation == null && wsdlPortType == null && wsdlNamespace == null) {
- throw new IllegalArgumentException("script SCA config must define either Java or WSDL service interface");
- }
- }
-
- this.properties = new HashMap();
- o = scaVar.get("properties", scriptScope);
- if (o != null && UniqueTag.NOT_FOUND != o) {
- // TODO parse properties
- }
-
- this.references = new HashMap();
- o = scaVar.get("references", scriptScope);
- if (o != null && UniqueTag.NOT_FOUND != o) {
- // TODO parse references
- }
-
- o = scaVar.get("scope", scriptScope);
- if (o != null && UniqueTag.NOT_FOUND != o) {
- if ("stateless".equalsIgnoreCase(String.valueOf(o))) {
- this.scope = Scope.STATELESS;
- } else if ("request".equalsIgnoreCase(String.valueOf(o))) {
- this.scope = Scope.REQUEST;
- } else if ("conversational".equalsIgnoreCase(String.valueOf(o))) {
- this.scope = Scope.SESSION; // TODO: where's CONVERSATIONAL?
- } else if ("composite".equalsIgnoreCase(String.valueOf(o))) {
- this.scope = Scope.MODULE; // TODO: composite = MODULE for now?
- } else {
- throw new IllegalArgumentException("invalid scope value: " + o);
- }
- }
-
- }
- }
-
- public boolean hasSCAConfig() {
- return hasSCAConfig;
- }
-
- public String getJavaInterface() {
- return javaInterface;
- }
-
- public Map getProperties() {
- return properties;
- }
-
- public Map getReferences() {
- return references;
- }
-
- public String getWSDLLocation() {
- return wsdlLocation;
- }
-
- public String getWSDLNamespace() {
- return wsdlNamespace;
- }
-
- public String getWSDLPortType() {
- return wsdlPortType;
- }
-
- public Scope getScope() {
- return scope;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoScript.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoScript.java
deleted file mode 100644
index 3552372223..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoScript.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.rhino;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.ContextFactory;
-import org.mozilla.javascript.ImporterTopLevel;
-import org.mozilla.javascript.Script;
-import org.mozilla.javascript.Scriptable;
-
-/**
- * A RhinoScript represents a compiled JavaScript script
- */
-public class RhinoScript {
-
- protected String scriptName;
-
- protected String script;
-
- protected Scriptable scriptScope;
-
- protected Map<String, Class> responseClasses;
-
- protected ClassLoader classLoader;
-
- /*
- * Enable dynamic scopes so a script can be used concurrently with a global shared scope and individual execution scopes. See
- * http://www.mozilla.org/rhino/scopes.html
- */
- private static class MyFactory extends ContextFactory {
- protected boolean hasFeature(Context cx, int featureIndex) {
- if (featureIndex == Context.FEATURE_DYNAMIC_SCOPE) {
- return true;
- }
- return super.hasFeature(cx, featureIndex);
- }
- }
-
- static {
- ContextFactory.initGlobal(new MyFactory());
- }
-
- /**
- * Create a new RhinoScript.
- *
- * @param scriptName
- * the name of the script. Can be anything, only used in messages to identify the script
- * @param script
- * the complete script
- */
- public RhinoScript(String scriptName, String script) {
- this(scriptName, script, (Map) null, null);
- }
-
- /**
- * Create a new RhinoInvoker.
- *
- * @param scriptName
- * the name of the script. Can be anything, only used in messages to identify the script
- * @param script
- * the complete script
- * @param context
- * name-value pairs that are added in to the scope where the script is compiled. May be null. The value objects are made available to
- * the script by using a variable with the name.
- * @param classLoader
- * the ClassLoader Rhino should use to locate any user Java classes used in the script
- */
- public RhinoScript(String scriptName, String script, Map context, ClassLoader classLoader) {
- this.scriptName = scriptName;
- this.script = script;
- this.responseClasses = new HashMap<String, Class>();
- this.classLoader = classLoader;
- initScriptScope(scriptName, script, context, classLoader);
- }
-
- /**
- * Create a new invokeable instance of the script
- *
- * @return a RhinoScriptInstance
- */
- public RhinoScriptInstance createRhinoScriptInstance() {
- return createRhinoScriptInstance(null);
- }
-
- /**
- * Create a new invokeable instance of the script
- *
- * @param context
- * objects to add to scope of the script instance
- * @return a RhinoScriptInstance
- */
- public RhinoScriptInstance createRhinoScriptInstance(Map<String, Object> context) {
- Scriptable instanceScope = createInstanceScope(context);
- RhinoScriptInstance rsi = new RhinoScriptInstance(scriptScope, instanceScope, context, responseClasses);
- return rsi;
- }
-
- /**
- * Initialize the Rhino Scope for this script instance
- */
- public Scriptable createInstanceScope(Map<String, Object> context) {
- Context cx = Context.enter();
- try {
-
- Scriptable instanceScope = cx.newObject(scriptScope);
- instanceScope.setPrototype(scriptScope);
- instanceScope.setParentScope(null);
-
- addContexts(instanceScope, context);
-
- return instanceScope;
-
- } finally {
- Context.exit();
- }
- }
-
- /**
- * Create a Rhino scope and compile the script into it
- */
- public void initScriptScope(String fileName, String scriptCode, Map context, ClassLoader cl) {
- Context cx = Context.enter();
- try {
- if (cl != null) {
- // TODO: broken with the way the tuscany launcher now uses class loaders
- // cx.setApplicationClassLoader(cl);
- }
- this.scriptScope = new ImporterTopLevel(cx, true);
- Script compiledScript = cx.compileString(scriptCode, fileName, 1, null);
- compiledScript.exec(cx, scriptScope);
- addContexts(scriptScope, context);
-
- } finally {
- Context.exit();
- }
- }
-
- /**
- * Add the context to the scope. This will make the objects available to a script by using the name it was added with.
- */
- protected void addContexts(Scriptable scope, Map contexts) {
- if (contexts != null) {
- for (Iterator i = contexts.keySet().iterator(); i.hasNext();) {
- String name = (String) i.next();
- Object value = contexts.get(name);
- if (value != null) {
- scope.put(name, scope, Context.toObject(value, scope));
- }
- }
- }
- }
-
- public String getScript() {
- return script;
- }
-
- public String getScriptName() {
- return scriptName;
- }
-
- public Scriptable getScriptScope() {
- return scriptScope;
- }
-
- public Map<String, Class> getResponseClasses() {
- return responseClasses;
- }
-
- public ClassLoader getClassLoader() {
- return classLoader;
- }
-
- /**
- * Set the Java type of a response value. JavaScript is dynamically typed so Rhino cannot always work out what the intended Java type of a
- * response should be, for example should the statement "return 42" be a Java int, or Integer or Double etc. When Rhino can't determine the type
- * it will default to returning a String, using this method enables overriding the Rhino default to use a specific Java type.
- */
- public void setResponseClass(String functionName, Class responseClasses) {
- this.responseClasses.put(functionName, responseClasses);
- }
-
- public RhinoSCAConfig getSCAConfig() {
- return new RhinoSCAConfig(getScriptScope());
- }
-
- public void setScript(String script) {
- this.script = script;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptInstance.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptInstance.java
deleted file mode 100644
index 508bc2a90a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptInstance.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.rhino;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.Function;
-import org.mozilla.javascript.Scriptable;
-import org.mozilla.javascript.UniqueTag;
-
-/**
- * An invokeable instance of a JavaScript script.
- */
-public class RhinoScriptInstance {
-
- private Scriptable scriptScope;
-
- private Scriptable instanceScope;
-
- private Map<String, Class> responseClasses;
-
- public RhinoScriptInstance(Scriptable scriptScope, Scriptable instanceScope, Map<String, Object> context, Map<String, Class> responseClasses) {
- this.scriptScope = scriptScope;
- this.instanceScope = instanceScope;
- this.responseClasses = responseClasses;
- if (this.responseClasses == null) {
- this.responseClasses = new HashMap<String, Class>();
- }
- addContexts(instanceScope, context);
- }
-
- public Object invokeFunction(String functionName, Object[] args) {
- return invokeFunction(functionName, args, null);
- }
-
- public Object invokeFunction(String functionName, Object[] args, Class respClass) {
- RhinoFunctionInvoker invoker = createRhinoFunctionInvoker(functionName, respClass);
- return invoker.invoke(args);
- }
-
- public RhinoFunctionInvoker createRhinoFunctionInvoker(String functionName) {
- return createRhinoFunctionInvoker(functionName, null);
- }
-
-
- public RhinoFunctionInvoker createRhinoFunctionInvoker(String functionName, Class responseClass) {
- Function function = getFunction(functionName);
- //Class responseClass = responseClasses.get(functionName);
- RhinoFunctionInvoker invoker = new RhinoFunctionInvoker(instanceScope, function, responseClass);
- return invoker;
- }
-
- /**
- * Add the context to the scope. This will make the objects available to a script by using the name it was added with.
- */
- protected void addContexts(Scriptable scope, Map contexts) {
- if (contexts != null) {
- Context.enter();
- try {
- for (Iterator i = contexts.keySet().iterator(); i.hasNext();) {
- String name = (String) i.next();
- Object value = contexts.get(name);
- if (value != null) {
- scope.put(name, scope, Context.toObject(value, scope));
- }
- }
- } finally {
- Context.exit();
- }
- }
- }
-
- /**
- * Get the Rhino Function object for the named script function
- */
- protected Function getFunction(String functionName) {
-
- Object handleObj = scriptScope.get(functionName, instanceScope);
- if (UniqueTag.NOT_FOUND.equals(handleObj)) {
- // Bit of a hack so E4X scripts don't need to define a function for every operation
- handleObj = scriptScope.get("process", instanceScope);
- }
- if (!(handleObj instanceof Function)) {
- throw new RuntimeException("script function '" + functionName + "' is undefined or not a function");
- }
-
- return (Function) handleObj;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/CmdLineArgsHandler.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/CmdLineArgsHandler.java
deleted file mode 100644
index b724b33ac3..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/CmdLineArgsHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-/**
- * This interface is to be implemented by classes that wish to
- * handle commandline arguments.
- *
- */
-public interface CmdLineArgsHandler {
- public void handleArgument(String optionFlag, String argValue) throws IllegalArgumentException;
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/CmdLineArgsProcessor.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/CmdLineArgsProcessor.java
deleted file mode 100644
index 914f1d03f2..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/CmdLineArgsProcessor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-/**
- * This class provides a generic command line arguments processing utility. The processArgs
- * method of this class processes the command line arguments that could contain option flags,
- * options and values and calls a ArgumentHanlder instance for handling the agruments.
- *
- */
-public class CmdLineArgsProcessor {
- private String printUsageMessage = "No hints available on Usage!";
-
- private CmdLineArgsHandler argsHandler = null;
-
- public static final String HYPEN = "-";
-
- public void processArgs(String[] args) {
- try {
- if (args.length == 0) {
- printUsage();
- } else {
- parseAndHandleArgs(args);
- }
- } catch (Exception e) {
- System.out.println("Exception in processing argument - " + e);
- printUsage();
- }
-
- }
-
- public void parseAndHandleArgs(String[] args) throws Exception {
- int index = 0;
- while (index < args.length - 1) {
- if (args[index].startsWith(HYPEN) && !args[index + 1].startsWith(HYPEN)) {
- argsHandler.handleArgument(args[index].substring(1), args[index + 1]);
- index = index + 2;
- } else {
- throw new IllegalArgumentException("Wrong Usage of options!");
- }
- }
- }
-
- protected void printUsage() {
-
- }
-
- public CmdLineArgsHandler getArgsHandler() {
- return argsHandler;
- }
-
- public void setArgsHandler(CmdLineArgsHandler argsHandler) {
- this.argsHandler = argsHandler;
- }
-
- public String getPrintUsageMessage() {
- return printUsageMessage;
- }
-
- public void setPrintUsageMessage(String printUsageMessage) {
- this.printUsageMessage = printUsageMessage;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/TuscanySampleXmlUtil.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/TuscanySampleXmlUtil.java
deleted file mode 100644
index a0155c76e6..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/TuscanySampleXmlUtil.java
+++ /dev/null
@@ -1,1097 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.SchemaParticle;
-import org.apache.xmlbeans.SchemaLocalElement;
-import org.apache.xmlbeans.SchemaProperty;
-import org.apache.xmlbeans.GDuration;
-import org.apache.xmlbeans.GDurationBuilder;
-import org.apache.xmlbeans.GDate;
-import org.apache.xmlbeans.GDateBuilder;
-import org.apache.xmlbeans.XmlAnySimpleType;
-import org.apache.xmlbeans.SimpleValue;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlInteger;
-import org.apache.xmlbeans.XmlDate;
-import org.apache.xmlbeans.XmlDateTime;
-import org.apache.xmlbeans.XmlTime;
-import org.apache.xmlbeans.XmlGYear;
-import org.apache.xmlbeans.XmlGYearMonth;
-import org.apache.xmlbeans.XmlGMonth;
-import org.apache.xmlbeans.XmlGMonthDay;
-import org.apache.xmlbeans.XmlGDay;
-import org.apache.xmlbeans.XmlDecimal;
-import org.apache.xmlbeans.XmlDuration;
-import org.apache.xmlbeans.soap.SchemaWSDLArrayType;
-import org.apache.xmlbeans.soap.SOAPArrayType;
-import org.apache.xmlbeans.impl.util.Base64;
-import org.apache.xmlbeans.impl.util.HexBin;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Random;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Arrays;
-
-import javax.xml.namespace.QName;
-
-/**
- * This class is a replication of the XMLBeans SampleXMLutil class. This replication
- * is required to overide the XMLBeans behaviour of this class in certain places. Since
- * most methods of the XMLBeans implementation of this class is private, no overiding
- * has been possible using inheritance. Hence this replication.
- *
- */
-public class TuscanySampleXmlUtil {
- private static final String BLANK_STRING = " ";
-
- private boolean generate_sample_data = false;
-
- private boolean _soapEnc;
-
- private static final int MAX_ELEMENTS = 1000;
-
- private int _nElements;
-
- boolean flag = true;
-
- private TuscanySampleXmlUtil(boolean soapEnc) {
- _soapEnc = soapEnc;
- }
-
- public TuscanySampleXmlUtil() {
- this(false);
- }
-
- public String createSampleForType(SchemaType sType) {
- XmlObject object = XmlObject.Factory.newInstance();
- XmlCursor cursor = object.newCursor();
- // Skip the document node
- cursor.toNextToken();
- // Using the type and the cursor, call the utility method to get a
- // sample XML payload for that Schema element
- createSampleForType(sType, cursor);
- // Cursor now contains the sample payload
- // Pretty print the result. Note that the cursor is positioned at the
- // end of the doc so we use the original xml object that the cursor was
- // created upon to do the xmlText() against.
- XmlOptions options = new XmlOptions();
- options.put(XmlOptions.SAVE_PRETTY_PRINT);
- options.put(XmlOptions.SAVE_PRETTY_PRINT_INDENT, 2);
- options.put(XmlOptions.SAVE_AGGRESSIVE_NAMESPACES);
- String result = object.xmlText(options);
- return result;
- }
-
- Random _picker = new Random(1);
-
- /**
- * Cursor position
- * Before:
- * <theElement>^</theElement>
- * After:
- * <theElement><lots of stuff/>^</theElement>
- */
- private void createSampleForType(SchemaType stype, XmlCursor xmlc) {
- if (_typeStack.contains(stype))
- //if ( !flag )
- return;
- //else
- // flag = false;
-
- _typeStack.add(stype);
-
- try {
- if (stype.isSimpleType() || stype.isURType()) {
- processSimpleType(stype, xmlc);
- return;
- }
-
- // complex Type
- // <theElement>^</theElement>
- processAttributes(stype, xmlc);
-
- // <theElement attri1="string">^</theElement>
- switch (stype.getContentType()) {
- case SchemaType.NOT_COMPLEX_TYPE:
- case SchemaType.EMPTY_CONTENT:
- // noop
- break;
- case SchemaType.SIMPLE_CONTENT: {
- processSimpleType(stype, xmlc);
- }
- break;
- case SchemaType.MIXED_CONTENT:
- if (isGenerate_sample_data())
- xmlc.insertChars(pick(WORDS) + " ");
- if (stype.getContentModel() != null) {
- processParticle(stype.getContentModel(), xmlc, true);
- }
- if (isGenerate_sample_data())
- xmlc.insertChars(pick(WORDS));
-
- break;
- case SchemaType.ELEMENT_CONTENT:
- if (stype.getContentModel() != null) {
- processParticle(stype.getContentModel(), xmlc, false);
- }
- break;
- }
- } finally {
- _typeStack.remove(_typeStack.size() - 1);
- }
- }
-
- private void processSimpleType(SchemaType stype, XmlCursor xmlc) {
- String sample = sampleDataForSimpleType(stype);
- xmlc.insertChars(sample);
-
- }
-
- private String sampleDataForSimpleType(SchemaType sType) {
- if (isGenerate_sample_data()) {
- return generateSampleDataForSimpleType(sType);
- } else {
- return BLANK_STRING;
- }
- }
-
- private String generateSampleDataForSimpleType(SchemaType sType) {
- if (XmlObject.type.equals(sType))
- return "anyType";
-
- if (XmlAnySimpleType.type.equals(sType))
- return "anySimpleType";
-
- if (sType.getSimpleVariety() == SchemaType.LIST) {
- SchemaType itemType = sType.getListItemType();
- StringBuffer sb = new StringBuffer();
- int length = pickLength(sType);
- if (length > 0)
- sb.append(sampleDataForSimpleType(itemType));
- for (int i = 1; i < length; i += 1) {
- sb.append(' ');
- sb.append(sampleDataForSimpleType(itemType));
- }
- return sb.toString();
- }
-
- if (sType.getSimpleVariety() == SchemaType.UNION) {
- SchemaType[] possibleTypes = sType.getUnionConstituentTypes();
- if (possibleTypes.length == 0)
- return "";
- return sampleDataForSimpleType(possibleTypes[pick(possibleTypes.length)]);
- }
-
- XmlAnySimpleType[] enumValues = sType.getEnumerationValues();
- if (enumValues != null && enumValues.length > 0) {
- return enumValues[pick(enumValues.length)].getStringValue();
- }
-
- switch (sType.getPrimitiveType().getBuiltinTypeCode()) {
- default:
- case SchemaType.BTC_NOT_BUILTIN:
- return "";
-
- case SchemaType.BTC_ANY_TYPE:
- case SchemaType.BTC_ANY_SIMPLE:
- return "anything";
-
- case SchemaType.BTC_BOOLEAN:
- return pick(2) == 0 ? "true" : "false";
-
- case SchemaType.BTC_BASE_64_BINARY: {
- String result = null;
- try {
- result = new String(Base64.encode(formatToLength(pick(WORDS), sType).getBytes("utf-8")));
- } catch (java.io.UnsupportedEncodingException e) { /* Can't possibly happen */
- }
- return result;
- }
-
- case SchemaType.BTC_HEX_BINARY:
- return HexBin.encode(formatToLength(pick(WORDS), sType));
-
- case SchemaType.BTC_ANY_URI:
- return formatToLength("http://www." + pick(DNS1) + "." + pick(DNS2) + "/" + pick(WORDS) + "/" + pick(WORDS), sType);
-
- case SchemaType.BTC_QNAME:
- return formatToLength("qname", sType);
-
- case SchemaType.BTC_NOTATION:
- return formatToLength("notation", sType);
-
- case SchemaType.BTC_FLOAT:
- return "1.5E2";
- case SchemaType.BTC_DOUBLE:
- return "1.051732E7";
- case SchemaType.BTC_DECIMAL:
- switch (closestBuiltin(sType).getBuiltinTypeCode()) {
- case SchemaType.BTC_SHORT:
- return formatDecimal("1", sType);
- case SchemaType.BTC_UNSIGNED_SHORT:
- return formatDecimal("5", sType);
- case SchemaType.BTC_BYTE:
- return formatDecimal("2", sType);
- case SchemaType.BTC_UNSIGNED_BYTE:
- return formatDecimal("6", sType);
- case SchemaType.BTC_INT:
- return formatDecimal("3", sType);
- case SchemaType.BTC_UNSIGNED_INT:
- return formatDecimal("7", sType);
- case SchemaType.BTC_LONG:
- return formatDecimal("10", sType);
- case SchemaType.BTC_UNSIGNED_LONG:
- return formatDecimal("11", sType);
- case SchemaType.BTC_INTEGER:
- return formatDecimal("100", sType);
- case SchemaType.BTC_NON_POSITIVE_INTEGER:
- return formatDecimal("-200", sType);
- case SchemaType.BTC_NEGATIVE_INTEGER:
- return formatDecimal("-201", sType);
- case SchemaType.BTC_NON_NEGATIVE_INTEGER:
- return formatDecimal("200", sType);
- case SchemaType.BTC_POSITIVE_INTEGER:
- return formatDecimal("201", sType);
- default:
- case SchemaType.BTC_DECIMAL:
- return formatDecimal("1000.00", sType);
- }
-
- case SchemaType.BTC_STRING: {
- String result;
- switch (closestBuiltin(sType).getBuiltinTypeCode()) {
- case SchemaType.BTC_STRING:
- case SchemaType.BTC_NORMALIZED_STRING:
- result = "string";
- break;
-
- case SchemaType.BTC_TOKEN:
- result = "token";
- break;
-
- default:
- result = "string";
- break;
- }
-
- return formatToLength(result, sType);
- }
-
- case SchemaType.BTC_DURATION:
- return formatDuration(sType);
-
- case SchemaType.BTC_DATE_TIME:
- case SchemaType.BTC_TIME:
- case SchemaType.BTC_DATE:
- case SchemaType.BTC_G_YEAR_MONTH:
- case SchemaType.BTC_G_YEAR:
- case SchemaType.BTC_G_MONTH_DAY:
- case SchemaType.BTC_G_DAY:
- case SchemaType.BTC_G_MONTH:
- return formatDate(sType);
- }
- }
-
- // a bit from the Aenid
- public static final String[] WORDS = new String[] { "ipsa", "iovis", "rapidum", "iaculata", "e", "nubibus", "ignem", "disiecitque", "rates",
- "evertitque", "aequora", "ventis", "illum", "exspirantem", "transfixo", "pectore", "flammas", "turbine", "corripuit", "scopuloque",
- "infixit", "acuto", "ast", "ego", "quae", "divum", "incedo", "regina", "iovisque", "et", "soror", "et", "coniunx", "una", "cum", "gente",
- "tot", "annos", "bella", "gero", "et", "quisquam", "numen", "iunonis", "adorat", "praeterea", "aut", "supplex", "aris", "imponet",
- "honorem", "talia", "flammato", "secum", "dea", "corde", "volutans", "nimborum", "in", "patriam", "loca", "feta", "furentibus",
- "austris", "aeoliam", "venit", "hic", "vasto", "rex", "aeolus", "antro", "luctantis", "ventos", "tempestatesque", "sonoras", "imperio",
- "premit", "ac", "vinclis", "et", "carcere", "frenat", "illi", "indignantes", "magno", "cum", "murmure", "montis", "circum", "claustra",
- "fremunt", "celsa", "sedet", "aeolus", "arce", "sceptra", "tenens", "mollitque", "animos", "et", "temperat", "iras", "ni", "faciat",
- "maria", "ac", "terras", "caelumque", "profundum", "quippe", "ferant", "rapidi", "secum", "verrantque", "per", "auras", "sed", "pater",
- "omnipotens", "speluncis", "abdidit", "atris", "hoc", "metuens", "molemque", "et", "montis", "insuper", "altos", "imposuit", "regemque",
- "dedit", "qui", "foedere", "certo", "et", "premere", "et", "laxas", "sciret", "dare", "iussus", "habenas", };
-
- private static final String[] DNS1 = new String[] { "corp", "your", "my", "sample", "company", "test", "any" };
-
- private static final String[] DNS2 = new String[] { "com", "org", "com", "gov", "org", "com", "org", "com", "edu" };
-
- private int pick(int n) {
- return _picker.nextInt(n);
- }
-
- private String pick(String[] a) {
- return a[pick(a.length)];
- }
-
- private String pick(String[] a, int count) {
- if (count <= 0)
- return "";
-
- int i = pick(a.length);
- StringBuffer sb = new StringBuffer(a[i]);
- while (count-- > 0) {
- i += 1;
- if (i >= a.length)
- i = 0;
- sb.append(' ');
- sb.append(a[i]);
- }
- return sb.toString();
- }
-
- private String pickDigits(int digits) {
- StringBuffer sb = new StringBuffer();
- while (digits-- > 0)
- sb.append(Integer.toString(pick(10)));
- return sb.toString();
- }
-
- private int pickLength(SchemaType sType) {
- XmlInteger length = (XmlInteger) sType.getFacet(SchemaType.FACET_LENGTH);
- if (length != null)
- return length.getBigIntegerValue().intValue();
- XmlInteger min = (XmlInteger) sType.getFacet(SchemaType.FACET_MIN_LENGTH);
- XmlInteger max = (XmlInteger) sType.getFacet(SchemaType.FACET_MAX_LENGTH);
- int minInt, maxInt;
- if (min == null)
- minInt = 0;
- else
- minInt = min.getBigIntegerValue().intValue();
- if (max == null)
- maxInt = Integer.MAX_VALUE;
- else
- maxInt = max.getBigIntegerValue().intValue();
- // We try to keep the length of the array within reasonable limits,
- // at least 1 item and at most 3 if possible
- if (minInt == 0 && maxInt >= 1)
- minInt = 1;
- if (maxInt > minInt + 2)
- maxInt = minInt + 2;
- if (maxInt < minInt)
- maxInt = minInt;
- return minInt + pick(maxInt - minInt);
- }
-
- /**
- * Formats a given string to the required length, using the following operations:
- * - append the source string to itself as necessary to pass the minLength;
- * - truncate the result of previous step, if necessary, to keep it within minLength.
- */
- private String formatToLength(String s, SchemaType sType) {
- String result = s;
- try {
- SimpleValue min = (SimpleValue) sType.getFacet(SchemaType.FACET_LENGTH);
- if (min == null)
- min = (SimpleValue) sType.getFacet(SchemaType.FACET_MIN_LENGTH);
- if (min != null) {
- int len = min.getIntValue();
- while (result.length() < len)
- result = result + result;
- }
- SimpleValue max = (SimpleValue) sType.getFacet(SchemaType.FACET_LENGTH);
- if (max == null)
- max = (SimpleValue) sType.getFacet(SchemaType.FACET_MAX_LENGTH);
- if (max != null) {
- int len = max.getIntValue();
- if (result.length() > len)
- result = result.substring(0, len);
- }
- } catch (Exception e) // intValue can be out of range
- {
- }
- return result;
- }
-
- private String formatDecimal(String start, SchemaType sType) {
- BigDecimal result = new BigDecimal(start);
- XmlDecimal xmlD;
- xmlD = (XmlDecimal) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- BigDecimal min = xmlD != null ? xmlD.getBigDecimalValue() : null;
- xmlD = (XmlDecimal) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- BigDecimal max = xmlD != null ? xmlD.getBigDecimalValue() : null;
- boolean minInclusive = true, maxInclusive = true;
- xmlD = (XmlDecimal) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- if (xmlD != null) {
- BigDecimal minExcl = xmlD.getBigDecimalValue();
- if (min == null || min.compareTo(minExcl) < 0) {
- min = minExcl;
- minInclusive = false;
- }
- }
- xmlD = (XmlDecimal) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- if (xmlD != null) {
- BigDecimal maxExcl = xmlD.getBigDecimalValue();
- if (max == null || max.compareTo(maxExcl) > 0) {
- max = maxExcl;
- maxInclusive = false;
- }
- }
- xmlD = (XmlDecimal) sType.getFacet(SchemaType.FACET_TOTAL_DIGITS);
- int totalDigits = -1;
- if (xmlD != null) {
- totalDigits = xmlD.getBigDecimalValue().intValue();
-
- StringBuffer sb = new StringBuffer(totalDigits);
- for (int i = 0; i < totalDigits; i++)
- sb.append('9');
- BigDecimal digitsLimit = new BigDecimal(sb.toString());
- if (max != null && max.compareTo(digitsLimit) > 0) {
- max = digitsLimit;
- maxInclusive = true;
- }
- digitsLimit = digitsLimit.negate();
- if (min != null && min.compareTo(digitsLimit) < 0) {
- min = digitsLimit;
- minInclusive = true;
- }
- }
-
- int sigMin = min == null ? 1 : result.compareTo(min);
- int sigMax = max == null ? -1 : result.compareTo(max);
- boolean minOk = sigMin > 0 || sigMin == 0 && minInclusive;
- boolean maxOk = sigMax < 0 || sigMax == 0 && maxInclusive;
-
- // Compute the minimum increment
- xmlD = (XmlDecimal) sType.getFacet(SchemaType.FACET_FRACTION_DIGITS);
- int fractionDigits = -1;
- BigDecimal increment;
- if (xmlD == null)
- increment = new BigDecimal(1);
- else {
- fractionDigits = xmlD.getBigDecimalValue().intValue();
- if (fractionDigits > 0) {
- StringBuffer sb = new StringBuffer("0.");
- for (int i = 1; i < fractionDigits; i++)
- sb.append('0');
- sb.append('1');
- increment = new BigDecimal(sb.toString());
- } else
- increment = new BigDecimal(1.0);
- }
-
- if (minOk && maxOk) {
- // OK
- } else if (minOk && !maxOk) {
- // TOO BIG
- if (maxInclusive)
- result = max;
- else
- result = max.subtract(increment);
- } else if (!minOk && maxOk) {
- // TOO SMALL
- if (minInclusive)
- result = min;
- else
- result = min.add(increment);
- } else {
- // MIN > MAX!!
- }
-
- // We have the number
- // Adjust the scale according to the totalDigits and fractionDigits
- int digits = 0;
- BigDecimal ONE = new BigDecimal(BigInteger.ONE);
- for (BigDecimal n = result; n.abs().compareTo(ONE) >= 0; digits++)
- n = n.movePointLeft(1);
-
- if (fractionDigits > 0)
- if (totalDigits >= 0)
- result.setScale(Math.max(fractionDigits, totalDigits - digits));
- else
- result.setScale(fractionDigits);
- else if (fractionDigits == 0)
- result.setScale(0);
-
- return result.toString();
- }
-
- private String formatDuration(SchemaType sType) {
- XmlDuration d = (XmlDuration) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- GDuration minInclusive = null;
- if (d != null)
- minInclusive = d.getGDurationValue();
-
- d = (XmlDuration) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- GDuration maxInclusive = null;
- if (d != null)
- maxInclusive = d.getGDurationValue();
-
- d = (XmlDuration) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- GDuration minExclusive = null;
- if (d != null)
- minExclusive = d.getGDurationValue();
-
- d = (XmlDuration) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- GDuration maxExclusive = null;
- if (d != null)
- maxExclusive = d.getGDurationValue();
-
- GDurationBuilder gdurb = new GDurationBuilder();
- BigInteger min, max;
-
- gdurb.setSecond(pick(800000));
- gdurb.setMonth(pick(20));
-
- // Years
- // Months
- // Days
- // Hours
- // Minutes
- // Seconds
- // Fractions
- if (minInclusive != null) {
- if (gdurb.getYear() < minInclusive.getYear())
- gdurb.setYear(minInclusive.getYear());
- if (gdurb.getMonth() < minInclusive.getMonth())
- gdurb.setMonth(minInclusive.getMonth());
- if (gdurb.getDay() < minInclusive.getDay())
- gdurb.setDay(minInclusive.getDay());
- if (gdurb.getHour() < minInclusive.getHour())
- gdurb.setHour(minInclusive.getHour());
- if (gdurb.getMinute() < minInclusive.getMinute())
- gdurb.setMinute(minInclusive.getMinute());
- if (gdurb.getSecond() < minInclusive.getSecond())
- gdurb.setSecond(minInclusive.getSecond());
- if (gdurb.getFraction().compareTo(minInclusive.getFraction()) < 0)
- gdurb.setFraction(minInclusive.getFraction());
- }
-
- if (maxInclusive != null) {
- if (gdurb.getYear() > maxInclusive.getYear())
- gdurb.setYear(maxInclusive.getYear());
- if (gdurb.getMonth() > maxInclusive.getMonth())
- gdurb.setMonth(maxInclusive.getMonth());
- if (gdurb.getDay() > maxInclusive.getDay())
- gdurb.setDay(maxInclusive.getDay());
- if (gdurb.getHour() > maxInclusive.getHour())
- gdurb.setHour(maxInclusive.getHour());
- if (gdurb.getMinute() > maxInclusive.getMinute())
- gdurb.setMinute(maxInclusive.getMinute());
- if (gdurb.getSecond() > maxInclusive.getSecond())
- gdurb.setSecond(maxInclusive.getSecond());
- if (gdurb.getFraction().compareTo(maxInclusive.getFraction()) > 0)
- gdurb.setFraction(maxInclusive.getFraction());
- }
-
- if (minExclusive != null) {
- if (gdurb.getYear() <= minExclusive.getYear())
- gdurb.setYear(minExclusive.getYear() + 1);
- if (gdurb.getMonth() <= minExclusive.getMonth())
- gdurb.setMonth(minExclusive.getMonth() + 1);
- if (gdurb.getDay() <= minExclusive.getDay())
- gdurb.setDay(minExclusive.getDay() + 1);
- if (gdurb.getHour() <= minExclusive.getHour())
- gdurb.setHour(minExclusive.getHour() + 1);
- if (gdurb.getMinute() <= minExclusive.getMinute())
- gdurb.setMinute(minExclusive.getMinute() + 1);
- if (gdurb.getSecond() <= minExclusive.getSecond())
- gdurb.setSecond(minExclusive.getSecond() + 1);
- if (gdurb.getFraction().compareTo(minExclusive.getFraction()) <= 0)
- gdurb.setFraction(minExclusive.getFraction().add(new BigDecimal(0.001)));
- }
-
- if (maxExclusive != null) {
- if (gdurb.getYear() > maxExclusive.getYear())
- gdurb.setYear(maxExclusive.getYear());
- if (gdurb.getMonth() > maxExclusive.getMonth())
- gdurb.setMonth(maxExclusive.getMonth());
- if (gdurb.getDay() > maxExclusive.getDay())
- gdurb.setDay(maxExclusive.getDay());
- if (gdurb.getHour() > maxExclusive.getHour())
- gdurb.setHour(maxExclusive.getHour());
- if (gdurb.getMinute() > maxExclusive.getMinute())
- gdurb.setMinute(maxExclusive.getMinute());
- if (gdurb.getSecond() > maxExclusive.getSecond())
- gdurb.setSecond(maxExclusive.getSecond());
- if (gdurb.getFraction().compareTo(maxExclusive.getFraction()) > 0)
- gdurb.setFraction(maxExclusive.getFraction());
- }
-
- gdurb.normalize();
- return gdurb.toString();
- }
-
- private String formatDate(SchemaType sType) {
- GDateBuilder gdateb = new GDateBuilder(new Date(1000L * pick(365 * 24 * 60 * 60) + (30L + pick(20)) * 365 * 24 * 60 * 60 * 1000));
- GDate min = null, max = null;
- GDate temp;
-
- // Find the min and the max according to the type
- switch (sType.getPrimitiveType().getBuiltinTypeCode()) {
- case SchemaType.BTC_DATE_TIME: {
- XmlDateTime x = (XmlDateTime) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- if (x != null)
- min = x.getGDateValue();
- x = (XmlDateTime) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- if (x != null)
- if (min == null || min.compareToGDate(x.getGDateValue()) <= 0)
- min = x.getGDateValue();
-
- x = (XmlDateTime) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- if (x != null)
- max = x.getGDateValue();
- x = (XmlDateTime) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- if (x != null)
- if (max == null || max.compareToGDate(x.getGDateValue()) >= 0)
- max = x.getGDateValue();
- break;
- }
- case SchemaType.BTC_TIME: {
- XmlTime x = (XmlTime) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- if (x != null)
- min = x.getGDateValue();
- x = (XmlTime) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- if (x != null)
- if (min == null || min.compareToGDate(x.getGDateValue()) <= 0)
- min = x.getGDateValue();
-
- x = (XmlTime) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- if (x != null)
- max = x.getGDateValue();
- x = (XmlTime) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- if (x != null)
- if (max == null || max.compareToGDate(x.getGDateValue()) >= 0)
- max = x.getGDateValue();
- break;
- }
- case SchemaType.BTC_DATE: {
- XmlDate x = (XmlDate) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- if (x != null)
- min = x.getGDateValue();
- x = (XmlDate) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- if (x != null)
- if (min == null || min.compareToGDate(x.getGDateValue()) <= 0)
- min = x.getGDateValue();
-
- x = (XmlDate) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- if (x != null)
- max = x.getGDateValue();
- x = (XmlDate) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- if (x != null)
- if (max == null || max.compareToGDate(x.getGDateValue()) >= 0)
- max = x.getGDateValue();
- break;
- }
- case SchemaType.BTC_G_YEAR_MONTH: {
- XmlGYearMonth x = (XmlGYearMonth) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- if (x != null)
- min = x.getGDateValue();
- x = (XmlGYearMonth) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- if (x != null)
- if (min == null || min.compareToGDate(x.getGDateValue()) <= 0)
- min = x.getGDateValue();
-
- x = (XmlGYearMonth) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- if (x != null)
- max = x.getGDateValue();
- x = (XmlGYearMonth) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- if (x != null)
- if (max == null || max.compareToGDate(x.getGDateValue()) >= 0)
- max = x.getGDateValue();
- break;
- }
- case SchemaType.BTC_G_YEAR: {
- XmlGYear x = (XmlGYear) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- if (x != null)
- min = x.getGDateValue();
- x = (XmlGYear) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- if (x != null)
- if (min == null || min.compareToGDate(x.getGDateValue()) <= 0)
- min = x.getGDateValue();
-
- x = (XmlGYear) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- if (x != null)
- max = x.getGDateValue();
- x = (XmlGYear) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- if (x != null)
- if (max == null || max.compareToGDate(x.getGDateValue()) >= 0)
- max = x.getGDateValue();
- break;
- }
- case SchemaType.BTC_G_MONTH_DAY: {
- XmlGMonthDay x = (XmlGMonthDay) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- if (x != null)
- min = x.getGDateValue();
- x = (XmlGMonthDay) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- if (x != null)
- if (min == null || min.compareToGDate(x.getGDateValue()) <= 0)
- min = x.getGDateValue();
-
- x = (XmlGMonthDay) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- if (x != null)
- max = x.getGDateValue();
- x = (XmlGMonthDay) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- if (x != null)
- if (max == null || max.compareToGDate(x.getGDateValue()) >= 0)
- max = x.getGDateValue();
- break;
- }
- case SchemaType.BTC_G_DAY: {
- XmlGDay x = (XmlGDay) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- if (x != null)
- min = x.getGDateValue();
- x = (XmlGDay) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- if (x != null)
- if (min == null || min.compareToGDate(x.getGDateValue()) <= 0)
- min = x.getGDateValue();
-
- x = (XmlGDay) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- if (x != null)
- max = x.getGDateValue();
- x = (XmlGDay) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- if (x != null)
- if (max == null || max.compareToGDate(x.getGDateValue()) >= 0)
- max = x.getGDateValue();
- break;
- }
- case SchemaType.BTC_G_MONTH: {
- XmlGMonth x = (XmlGMonth) sType.getFacet(SchemaType.FACET_MIN_INCLUSIVE);
- if (x != null)
- min = x.getGDateValue();
- x = (XmlGMonth) sType.getFacet(SchemaType.FACET_MIN_EXCLUSIVE);
- if (x != null)
- if (min == null || min.compareToGDate(x.getGDateValue()) <= 0)
- min = x.getGDateValue();
-
- x = (XmlGMonth) sType.getFacet(SchemaType.FACET_MAX_INCLUSIVE);
- if (x != null)
- max = x.getGDateValue();
- x = (XmlGMonth) sType.getFacet(SchemaType.FACET_MAX_EXCLUSIVE);
- if (x != null)
- if (max == null || max.compareToGDate(x.getGDateValue()) >= 0)
- max = x.getGDateValue();
- break;
- }
- }
-
- if (min != null && max == null) {
- if (min.compareToGDate(gdateb) >= 0) {
- // Reset the date to min + (1-8) hours
- Calendar c = gdateb.getCalendar();
- c.add(Calendar.HOUR_OF_DAY, pick(8));
- gdateb = new GDateBuilder(c);
- }
- } else if (min == null && max != null) {
- if (max.compareToGDate(gdateb) <= 0) {
- // Reset the date to max - (1-8) hours
- Calendar c = gdateb.getCalendar();
- c.add(Calendar.HOUR_OF_DAY, 0 - pick(8));
- gdateb = new GDateBuilder(c);
- }
- } else if (min != null && max != null) {
- if (min.compareToGDate(gdateb) >= 0 || max.compareToGDate(gdateb) <= 0) {
- // Find a date between the two
- Calendar c = min.getCalendar();
- Calendar cmax = max.getCalendar();
- c.add(Calendar.HOUR_OF_DAY, 1);
- if (c.after(cmax)) {
- c.add(Calendar.HOUR_OF_DAY, -1);
- c.add(Calendar.MINUTE, 1);
- if (c.after(cmax)) {
- c.add(Calendar.MINUTE, -1);
- c.add(Calendar.SECOND, 1);
- if (c.after(cmax)) {
- c.add(Calendar.SECOND, -1);
- c.add(Calendar.MILLISECOND, 1);
- if (c.after(cmax))
- c.add(Calendar.MILLISECOND, -1);
- }
- }
- }
- gdateb = new GDateBuilder(c);
- }
- }
-
- gdateb.setBuiltinTypeCode(sType.getPrimitiveType().getBuiltinTypeCode());
- if (pick(2) == 0)
- gdateb.clearTimeZone();
- return gdateb.toString();
- }
-
- private SchemaType closestBuiltin(SchemaType sType) {
- while (!sType.isBuiltinType())
- sType = sType.getBaseType();
- return sType;
- }
-
- /**
- * Cracks a combined QName of the form URL:localname
- */
- public static QName crackQName(String qName) {
- String ns;
- String name;
-
- int index = qName.lastIndexOf(':');
- if (index >= 0) {
- ns = qName.substring(0, index);
- name = qName.substring(index + 1);
- } else {
- ns = "";
- name = qName;
- }
-
- return new QName(ns, name);
- }
-
- /**
- * Cursor position:
- * Before this call:
- * <outer><foo/>^</outer> (cursor at the ^)
- * After this call:
- * <<outer><foo/><bar/>som text<etc/>^</outer>
- */
- private void processParticle(SchemaParticle sp, XmlCursor xmlc, boolean mixed) {
- int loop = determineMinMaxForSample(sp, xmlc);
-
- while (loop-- > 0) {
- switch (sp.getParticleType()) {
- case (SchemaParticle.ELEMENT):
- processElement(sp, xmlc, mixed);
- break;
- case (SchemaParticle.SEQUENCE):
- processSequence(sp, xmlc, mixed);
- break;
- case (SchemaParticle.CHOICE):
- processChoice(sp, xmlc, mixed);
- break;
- case (SchemaParticle.ALL):
- processAll(sp, xmlc, mixed);
- break;
- case (SchemaParticle.WILDCARD):
- processWildCard(sp, xmlc, mixed);
- break;
- default:
- // throw new Exception("No Match on Schema Particle Type: " + String.valueOf(sp.getParticleType()));
- }
- }
- }
-
- private int determineMinMaxForSample(SchemaParticle sp, XmlCursor xmlc) {
- int minOccurs = sp.getIntMinOccurs();
- int maxOccurs = sp.getIntMaxOccurs();
-
- if (minOccurs == maxOccurs)
- return minOccurs;
-
- int result = minOccurs;
- if (result == 0 && _nElements < MAX_ELEMENTS)
- result = 1;
-
- if (sp.getParticleType() != SchemaParticle.ELEMENT)
- return result;
-
- // it probably only makes sense to put comments in front of individual elements that repeat
-
- if (sp.getMaxOccurs() == null) {
- // xmlc.insertComment("The next " + getItemNameOrType(sp, xmlc) + " may be repeated " + minOccurs + " or more times");
- if (minOccurs == 0)
- xmlc.insertComment("Zero or more repetitions:");
- else
- xmlc.insertComment(minOccurs + " or more repetitions:");
- } else if (sp.getIntMaxOccurs() > 1) {
- xmlc.insertComment(minOccurs + " to " + String.valueOf(sp.getMaxOccurs()) + " repetitions:");
- } else {
- xmlc.insertComment("Optional:");
- }
- return result;
- }
-
- /*
- Return a name for the element or the particle type to use in the comment for minoccurs, max occurs
- */
- private String getItemNameOrType(SchemaParticle sp, XmlCursor xmlc) {
- String elementOrTypeName = null;
- if (sp.getParticleType() == SchemaParticle.ELEMENT) {
- elementOrTypeName = "Element (" + sp.getName().getLocalPart() + ")";
- } else {
- elementOrTypeName = printParticleType(sp.getParticleType());
- }
- return elementOrTypeName;
- }
-
- private void processElement(SchemaParticle sp, XmlCursor xmlc, boolean mixed) {
- // cast as schema local element
- SchemaLocalElement element = (SchemaLocalElement) sp;
- /// ^ -> <elemenname></elem>^
- if (_soapEnc)
- xmlc.insertElement(element.getName().getLocalPart()); // soap encoded? drop namespaces.
- else
- xmlc.insertElement(element.getName().getLocalPart(), element.getName().getNamespaceURI());
- _nElements++;
- /// -> <elem>^</elem>
- xmlc.toPrevToken();
- // -> <elem>stuff^</elem>
- createSampleForType(element.getType(), xmlc);
- // -> <elem>stuff</elem>^
- xmlc.toNextToken();
-
- }
-
- private void moveToken(int numToMove, XmlCursor xmlc) {
- for (int i = 0; i < Math.abs(numToMove); i++) {
- if (numToMove < 0) {
- xmlc.toPrevToken();
- } else {
- xmlc.toNextToken();
- }
- }
- }
-
- private static final String formatQName(XmlCursor xmlc, QName qName) {
- XmlCursor parent = xmlc.newCursor();
- parent.toParent();
- String prefix = parent.prefixForNamespace(qName.getNamespaceURI());
- parent.dispose();
- String name;
- if (prefix == null || prefix.length() == 0)
- name = qName.getLocalPart();
- else
- name = prefix + ":" + qName.getLocalPart();
- return name;
- }
-
- private static final QName HREF = new QName("href");
-
- private static final QName ID = new QName("id");
-
- private static final QName XSI_TYPE = new QName("http://www.w3.org/2001/XMLSchema-instance", "type");
-
- private static final QName ENC_ARRAYTYPE = new QName("http://schemas.xmlsoap.org/soap/encoding/", "arrayType");
-
- private static final QName ENC_OFFSET = new QName("http://schemas.xmlsoap.org/soap/encoding/", "offset");
-
- private static final Set SKIPPED_SOAP_ATTRS = new HashSet(Arrays.asList(new QName[] { HREF, ID, ENC_OFFSET }));
-
- private void processAttributes(SchemaType stype, XmlCursor xmlc) {
- if (_soapEnc) {
- QName typeName = stype.getName();
- if (typeName != null) {
- xmlc.insertAttributeWithValue(XSI_TYPE, formatQName(xmlc, typeName));
- }
- }
-
- SchemaProperty[] attrProps = stype.getAttributeProperties();
- for (int i = 0; i < attrProps.length; i++) {
- SchemaProperty attr = attrProps[i];
- if (_soapEnc) {
- if (SKIPPED_SOAP_ATTRS.contains(attr.getName()))
- continue;
- if (ENC_ARRAYTYPE.equals(attr.getName())) {
- SOAPArrayType arrayType = ((SchemaWSDLArrayType) stype.getAttributeModel().getAttribute(attr.getName())).getWSDLArrayType();
- if (arrayType != null)
- xmlc.insertAttributeWithValue(attr.getName(), formatQName(xmlc, arrayType.getQName()) + arrayType.soap11DimensionString());
- continue;
- }
- }
- String defaultValue = attr.getDefaultText();
- xmlc.insertAttributeWithValue(attr.getName(), defaultValue == null ? sampleDataForSimpleType(attr.getType()) : defaultValue);
- }
- }
-
- private void processSequence(SchemaParticle sp, XmlCursor xmlc, boolean mixed) {
- SchemaParticle[] spc = sp.getParticleChildren();
- for (int i = 0; i < spc.length; i++) {
- /// <parent>maybestuff^</parent>
- processParticle(spc[i], xmlc, mixed);
- //<parent>maybestuff...morestuff^</parent>
- if (mixed && i < spc.length - 1) {
- if (isGenerate_sample_data()) {
- xmlc.insertChars(pick(WORDS));
- } else {
- xmlc.insertChars("");
- }
- }
- }
- }
-
- private void processChoice(SchemaParticle sp, XmlCursor xmlc, boolean mixed) {
- SchemaParticle[] spc = sp.getParticleChildren();
- xmlc.insertComment("You have a CHOICE of the next " + String.valueOf(spc.length) + " items at this level");
- for (int i = 0; i < spc.length; i++) {
- processParticle(spc[i], xmlc, mixed);
- }
- }
-
- private void processAll(SchemaParticle sp, XmlCursor xmlc, boolean mixed) {
- SchemaParticle[] spc = sp.getParticleChildren();
- // xmlc.insertComment("You may enter the following " + String.valueOf(spc.length) + " items in any order");
- for (int i = 0; i < spc.length; i++) {
- processParticle(spc[i], xmlc, mixed);
- if (mixed && i < spc.length - 1)
- xmlc.insertChars(pick(WORDS));
- }
- }
-
- private void processWildCard(SchemaParticle sp, XmlCursor xmlc, boolean mixed) {
- xmlc.insertComment("You may enter ANY elements at this point");
- xmlc.insertElement("AnyElement");
- }
-
- /**
- * This method will get the base type for the schema type
- */
-
- private static QName getClosestName(SchemaType sType) {
- while (sType.getName() == null)
- sType = sType.getBaseType();
-
- return sType.getName();
- }
-
- private String printParticleType(int particleType) {
- StringBuffer returnParticleType = new StringBuffer();
- returnParticleType.append("Schema Particle Type: ");
-
- switch (particleType) {
- case SchemaParticle.ALL:
- returnParticleType.append("ALL\n");
- break;
- case SchemaParticle.CHOICE:
- returnParticleType.append("CHOICE\n");
- break;
- case SchemaParticle.ELEMENT:
- returnParticleType.append("ELEMENT\n");
- break;
- case SchemaParticle.SEQUENCE:
- returnParticleType.append("SEQUENCE\n");
- break;
- case SchemaParticle.WILDCARD:
- returnParticleType.append("WILDCARD\n");
- break;
- default:
- returnParticleType.append("Schema Particle Type Unknown");
- break;
- }
-
- return returnParticleType.toString();
- }
-
- private ArrayList _typeStack = new ArrayList();
-
- public boolean isGenerate_sample_data() {
- return generate_sample_data;
- }
-
- public void setGenerate_sample_data(boolean generate_sample_data) {
- this.generate_sample_data = generate_sample_data;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XBbasedXMLGenerator.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XBbasedXMLGenerator.java
deleted file mode 100644
index 128d65cecd..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XBbasedXMLGenerator.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.schema.Schema;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-
-import org.apache.xmlbeans.SchemaGlobalElement;
-import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.SchemaTypeSystem;
-import org.apache.xmlbeans.XmlBeans;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
-import org.apache.xmlbeans.impl.xsd2inst.SchemaInstanceGenerator;
-import org.xml.sax.InputSource;
-
-import com.ibm.wsdl.util.xml.DOM2Writer;
-
-public class XBbasedXMLGenerator extends SchemaInstanceGenerator implements XMLGenerator {
- private XMLfromXSDConfiguration config = null;
-
- public static final String QNAME_SEPARATOR = "#";
-
- public XBbasedXMLGenerator(XMLfromXSDConfiguration config) {
- this.config = config;
- // config.setXsdInputStream(getClass().getResource(conf).openStream());
- }
-
- public Hashtable<String, XmlObject> generateXmlAll() throws Exception {
- Hashtable<String, XmlObject> xmlInstances = new Hashtable<String, XmlObject>();
- TuscanySampleXmlUtil xmlUtil = new TuscanySampleXmlUtil();
- xmlUtil.setGenerate_sample_data(config.isGenerateSampleData());
- SchemaTypeSystem sts = processXSDSources();
- SchemaType elementType = null;
- for (SchemaGlobalElement globalElement : sts.globalElements()) {
- elementType = getRootElementSchemaType(sts, globalElement.getName().getNamespaceURI(), globalElement.getName().getLocalPart());
- xmlInstances.put(makeQName(globalElement.getName()), XmlObject.Factory.parse(xmlUtil.createSampleForType(elementType)));
- }
-
- return xmlInstances;
- }
-
- public String generateXMLAsString() throws Exception {
- SchemaTypeSystem sts = processXSDSources();
- SchemaType rootElementType = getRootElementSchemaType(sts, config.getSchemaTypeNamespaceURI(), config.getSchemaTypeName());
- String result = "";
- if (rootElementType != null) {
- TuscanySampleXmlUtil xmlUtil = new TuscanySampleXmlUtil();
- xmlUtil.setGenerate_sample_data(config.isGenerateSampleData());
- result = xmlUtil.createSampleForType(rootElementType);
- } else {
- System.out.println("Could not find a global element with name \"" + config.getRootElementLocalName() + "\"");
- }
- return result;
- }
-
- public void generateXMLIntoOutputStream() throws Exception {
- config.getXmlOutputStream().write(generateXMLAsString().getBytes());
- }
-
- public void generateXML() throws Exception {
- SchemaTypeSystem sts = processXSDSources();
-
- SchemaType rootElementType = getRootElementSchemaType(sts, config.getSchemaTypeNamespaceURI(), config.getSchemaTypeName());
-
- if (rootElementType != null) {
- TuscanySampleXmlUtil xmlUtil = new TuscanySampleXmlUtil();
- xmlUtil.setGenerate_sample_data(config.isGenerateSampleData());
- String result = xmlUtil.createSampleForType(rootElementType);
- config.getXmlOutputStream().write(result.getBytes());
- // System.out.println(result);
- } else {
- System.out.println("Could not find a global element with name \"" + config.getRootElementLocalName() + "\"");
- }
- }
-
- protected SchemaType getRootElementSchemaType(SchemaTypeSystem sts, String schemaNamespace, String schemaTypeName) {
- SchemaType schemaType = null;
-
- if (sts == null) {
- System.out.println("No Schemas to process.");
- } else {
- // first check in the global types
- SchemaType[] globalTypes = sts.globalTypes();
- for (int i = 0; i < globalTypes.length; i++) {
- if (schemaNamespace.equals(globalTypes[i].getName().getNamespaceURI())
- && schemaTypeName.equals(globalTypes[i].getName().getLocalPart())) {
- schemaType = globalTypes[i];
- break;
- }
- }
-
- // next check for anonymous types defined inline within elements
- if (schemaType == null) {
- SchemaType[] globalElems = sts.documentTypes();
- for (int i = 0; i < globalElems.length; i++) {
- if (schemaNamespace.equals(globalElems[i].getDocumentElementName().getNamespaceURI())
- && schemaTypeName.equals(globalElems[i].getDocumentElementName().getLocalPart())) {
- schemaType = globalElems[i];
- break;
- }
- }
- }
- }
- return schemaType;
- }
-
- public void generateXML(XMLfromXSDConfiguration config) throws Exception {
- this.config = config;
- generateXML();
- }
-
- public XMLfromXSDConfiguration getConfig() {
- return config;
- }
-
- public void setConfig(XMLfromXSDConfiguration config) {
- this.config = config;
- }
-
- private Definition readInTheWSDLFile(InputStream wsdlStream) throws WSDLException {
- WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
- reader.setFeature("javax.wsdl.importDocuments", true);
-
- /*
- * File file = new File(uri); String baseURI;
- *
- * if (uri.startsWith("http://")){ baseURI = uri; } else{ if(file.getParentFile() == null){ try { baseURI = new
- * File(".").getCanonicalFile().toURI().toString(); } catch (IOException e) { throw new RuntimeException(e); } } else { baseURI =
- * file.getParentFile().toURI().toString(); } }
- */
- // Document doc;
- InputSource inputSource;
- try {
-
- // doc = XMLUtils.newDocument(wsdlStream);
- inputSource = new InputSource(wsdlStream);
- /*
- * } catch (ParserConfigurationException e) { throw new WSDLException(WSDLException.PARSER_ERROR, "Parser Configuration Error", e); }
- * catch (SAXException e) { throw new WSDLException(WSDLException.PARSER_ERROR, "Parser SAX Error", e);
- */
- } catch (Exception e) {
- throw new WSDLException(WSDLException.INVALID_WSDL, "IO Error", e);
- }
-
- // return reader.readWSDL(config.getRootElementNamespaceURI(), doc);
- return reader.readWSDL(config.getRootElementNamespaceURI(), inputSource);
- }
-
- protected InputStream[] getXSDsFromWSDL(InputStream xsdInputStream) throws Exception {
- Definition defn = readInTheWSDLFile(xsdInputStream);
- List list = defn.getTypes().getExtensibilityElements();
-
- InputStream[] xsdFragments = new InputStream[list.size()];
-
- Iterator iterator = list.iterator();
- Schema schemaElement = null;
-
- for (int count = 0; count < list.size(); ++count) {
- schemaElement = (Schema) iterator.next();
- // System.out.println(" *** - " + element.getElementType().getNamespaceURI());
- // System.out.println(" **** - " + element + " & " + element.getClass().getPackage().getName());
- // System.out.println(DOM2Writer.nodeToString(element.getElement()));
- xsdFragments[count] = new ByteArrayInputStream(DOM2Writer.nodeToString(schemaElement.getElement()).getBytes());
- }
-
- return xsdFragments;
- }
-
- protected SchemaTypeSystem processXSDSources() throws Exception {
- SchemaTypeSystem sts = null;
- if (config.getXsdFileName().endsWith(XSD_FILE)) {
- sts = processXSDs(new InputStream[] { config.getXsdInputStream() });
- } else if (config.getXsdFileName().endsWith(WSDL_FILE)) {
- sts = processXSDs(getXSDsFromWSDL(config.getXsdInputStream()));
- }
- return sts;
- }
-
- protected SchemaTypeSystem processXSDs(InputStream[] inputStreams) {
- List sdocs = new ArrayList();
- for (int i = 0; i < inputStreams.length; i++) {
- try {
- sdocs.add(XmlObject.Factory.parse(inputStreams[i], (new XmlOptions()).setLoadLineNumbers().setLoadMessageDigest()));
- } catch (Exception e) {
- System.err.println("Can not load schema file: " + inputStreams[i] + ": ");
- e.printStackTrace();
- }
- }
-
- XmlObject[] schemas = (XmlObject[]) sdocs.toArray(new XmlObject[sdocs.size()]);
-
- SchemaTypeSystem sts = null;
- if (schemas.length > 0) {
- Collection errors = new ArrayList();
- XmlOptions compileOptions = new XmlOptions();
- /*
- * if (dl) compileOptions.setCompileDownloadUrls(); if (nopvr) compileOptions.setCompileNoPvrRule(); if (noupa)
- * compileOptions.setCompileNoUpaRule();
- */
- try {
- sts = XmlBeans.compileXsd(schemas, XmlBeans.getBuiltinTypeSystem(), compileOptions);
- } catch (Exception e) {
- if (errors.isEmpty() || !(e instanceof XmlException))
- e.printStackTrace();
-
- System.out.println("Schema compilation errors: ");
- for (Iterator i = errors.iterator(); i.hasNext();)
- System.out.println(i.next());
- }
- }
-
- return sts;
- }
-
- private String makeQName(String nameSpace, String localName) {
- return nameSpace + QNAME_SEPARATOR + localName;
- }
-
- private String makeQName(QName qName) {
- return qName.getNamespaceURI() + QNAME_SEPARATOR + qName.getLocalPart();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLGenerator.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLGenerator.java
deleted file mode 100644
index 15848158e6..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLGenerator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-import java.util.Hashtable;
-
-import org.apache.xmlbeans.XmlObject;
-
-/**
- * This is the XMLGenerator Interface that will be implemented by various
- * types of Generators (SDO based, XMLBeans based etc.)
- *
- */
-public interface XMLGenerator {
- public static final int SDO_BASED = 1;
-
- public static final int XMLBEANS_BASED = 2;
-
- public static final String XSD_FILE = ".xsd";
-
- public static final String WSDL_FILE = ".wsdl";
-
- public void generateXML() throws Exception;
-
- public void generateXML(XMLfromXSDConfiguration config) throws Exception;
-
- public void generateXMLIntoOutputStream() throws Exception;
-
- public String generateXMLAsString() throws Exception;
-
- public Hashtable<String, XmlObject> generateXmlAll() throws Exception;
-
- public XMLfromXSDConfiguration getConfig();
-
- public void setConfig(XMLfromXSDConfiguration config);
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLGeneratorFactory.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLGeneratorFactory.java
deleted file mode 100644
index e4075557e8..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLGeneratorFactory.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-/**
- * This is a factory for creating XML Generators. The types of XML Generators
- * are enumerated in the XMLGenerator interface.
- *
- */
-public class XMLGeneratorFactory {
- private static XMLGeneratorFactory factory = null;
-
- protected XMLGeneratorFactory() {
-
- }
-
- public static XMLGeneratorFactory getInstance() {
- if (factory == null) {
- factory = new XMLGeneratorFactory();
- }
- return factory;
- }
-
- public XMLGenerator createGenerator(int generatorType) {
- XMLGenerator generator = null;
- switch (generatorType) {
- case XMLGenerator.SDO_BASED: {
- // generator = new SDObasedXMLGenerator(new XMLfromXSDConfiguration());
- break;
- }
- case XMLGenerator.XMLBEANS_BASED: {
- generator = new XBbasedXMLGenerator(new XMLfromXSDConfiguration());
- break;
- }
- }
-
- return generator;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDConfiguration.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDConfiguration.java
deleted file mode 100644
index 76f6b711bd..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDConfiguration.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-
-/**
- * This class encapsulates the configuration settings for the "XML From XSD" generation.
- * Presently it contains settings like the XSD to be use, the schematype for which and
- * xml instance is to be created, the destination for the output etc. All of these
- * settings are used by the 'generator' classes during the genation of the xml instance.
- *
- */
-public class XMLfromXSDConfiguration implements CmdLineArgsHandler {
- private static int fileCount = 0;
-
- public static final String DEFAULT_XML_OUTPUT_FILENAME = "XML_FROM_XSD_" + (++fileCount) + ".xml";
-
- public static final String XSD_FILE_URL_OPTION = "xsd";
-
- public static final String XML_OUTPUT_LOCATION_OPTION = "o";
-
- public static final String XML_OUTPUT_FILENAME_OPTION = "of";
-
- public static final String ROOT_ELEMENT_NAMESPACE_URI_OPTION = "rns";
-
- public static final String ROOT_ELEMENT_LOCALNAME_OPTION = "rn";
-
- public static final String SCHEMA_TYPE_NAME = "st";
-
- public static final String SCHEMA_TYPE_NAMESPACE_URI = "stn";
-
- public static final String GENERATE_SAMPLE_DATA = "sd";
-
- protected String xmlOutputLocation = null;
-
- protected File xmlOutputDirectory = null;
-
- protected String xsdFileName = null;
-
- protected String xmlFileName = null;
-
- protected InputStream xsdInputStream = null;
-
- protected OutputStream xmlOutputStream = null;
-
- protected String rootElementNamespaceURI = null;
-
- protected String rootElementLocalName = null;
-
- protected String schemaTypeName = null;
-
- protected String schemaTypeNamespaceURI = null;
-
- protected boolean generateSampleData = false;
-
- private void handleXSDInputFileOption(String xsdFileUrl) throws Exception {
- xsdFileName = xsdFileUrl;
- // xsdInputStream = new FileInputStream(new File(xsdFileName));
- URL resourceUrl = Thread.currentThread().getContextClassLoader().getResource(xsdFileName);
- if (resourceUrl != null) {
- xsdInputStream = resourceUrl.openStream();
- } else {
- File inFile = new File(xsdFileName);
- xsdFileName = inFile.getName();
- xsdInputStream = new FileInputStream(inFile);
- }
- }
-
- private void handleXMLOutputLocationOption(String outputLocation) throws Exception {
- xmlOutputLocation = outputLocation;
- xmlOutputDirectory = new File(xmlOutputLocation);
- if (!xmlOutputDirectory.exists()) {
- xmlOutputDirectory.mkdirs();
- } else if (!xmlOutputDirectory.isDirectory()) {
- throw new IllegalArgumentException("The input location for the xml output " + outputLocation + "is not a folder");
- }
- }
-
- private void handleOutputFilenameOption(String outputFileName) throws Exception {
- xmlFileName = outputFileName;
-
- // first create a file in the given location
- File outputFile = new File(xmlOutputDirectory, xmlFileName);
-
- try {
- if (!outputFile.exists()) {
- outputFile.createNewFile();
- }
- xmlOutputStream = new FileOutputStream(outputFile);
- } catch (IOException e) {
- throw new Exception(e);
- }
- }
-
- public void handleArgument(String optionFlag, String argValue) throws IllegalArgumentException {
- try {
- if (XSD_FILE_URL_OPTION.equalsIgnoreCase(optionFlag)) {
- handleXSDInputFileOption(argValue);
- } else if (XML_OUTPUT_LOCATION_OPTION.equalsIgnoreCase(optionFlag)) {
- handleXMLOutputLocationOption(argValue);
- } else if (XML_OUTPUT_FILENAME_OPTION.equalsIgnoreCase(optionFlag)) {
- handleOutputFilenameOption(argValue);
- } else if (ROOT_ELEMENT_NAMESPACE_URI_OPTION.equalsIgnoreCase(optionFlag)) {
- setRootElementNamespaceURI(argValue);
- } else if (ROOT_ELEMENT_LOCALNAME_OPTION.equalsIgnoreCase(optionFlag)) {
- setRootElementLocalName(argValue);
- } else if (SCHEMA_TYPE_NAME.equalsIgnoreCase(optionFlag)) {
- setSchemaTypeName(argValue);
- } else if (SCHEMA_TYPE_NAMESPACE_URI.equalsIgnoreCase(optionFlag)) {
- setSchemaTypeNamespaceURI(argValue);
- } else if (GENERATE_SAMPLE_DATA.equalsIgnoreCase(optionFlag)) {
- setGenerateSampleData(true);
- }
- } catch (Exception e) {
- throw new IllegalArgumentException("Exception due to - " + e);
- }
- }
-
- public String getRootElementLocalName() {
- if (rootElementLocalName == null) {
- rootElementLocalName = schemaTypeName.toLowerCase();
- }
- return rootElementLocalName;
- }
-
- public void setRootElementLocalName(String rootElementLocalName) {
- this.rootElementLocalName = rootElementLocalName;
- }
-
- public String getRootElementNamespaceURI() {
- if (rootElementNamespaceURI == null) {
- rootElementNamespaceURI = schemaTypeNamespaceURI;
- }
- return rootElementNamespaceURI;
- }
-
- public void setRootElementNamespaceURI(String rootElementNamespaceURI) {
- this.rootElementNamespaceURI = rootElementNamespaceURI;
- }
-
- public String getXmlFileName() {
- if (xmlFileName == null) {
- xmlFileName = getXsdFileName() + ".xml";
- }
- return xmlFileName;
- }
-
- public void setXmlFileName(String xmlFileName) {
- this.xmlFileName = xmlFileName;
- }
-
- public File getXmlOutputLocation() {
- return xmlOutputDirectory;
- }
-
- public void setXmlOutputLocation(File xmlOutputLocation) {
- this.xmlOutputDirectory = xmlOutputLocation;
- }
-
- public OutputStream getXmlOutputStream() throws Exception {
- if (xmlOutputStream == null) {
- if (xmlOutputDirectory == null) {
- handleXMLOutputLocationOption(System.getProperty("user.dir"));
- }
- handleOutputFilenameOption(getXmlFileName());
- }
- return xmlOutputStream;
- }
-
- public void setXmlOutputStream(OutputStream xmlOutputStream) {
- this.xmlOutputStream = xmlOutputStream;
- }
-
- public String getXsdFileName() {
- return xsdFileName;
- }
-
- public void setXsdFileName(String xsdFileName) throws Exception {
- this.xsdFileName = xsdFileName;
- handleXSDInputFileOption(xsdFileName);
- }
-
- public InputStream getXsdInputStream() throws Exception {
- if (xsdInputStream == null) {
- throw new IllegalArgumentException("XSD Input Source not set....!");
- }
- return xsdInputStream;
- }
-
- public void setXsdInputStream(InputStream xsdInputStream) {
- this.xsdInputStream = xsdInputStream;
- }
-
- public String getSchemaTypeName() {
- return schemaTypeName;
- }
-
- public void setSchemaTypeName(String schemaTypeName) {
- this.schemaTypeName = schemaTypeName;
- }
-
- public String getSchemaTypeNamespaceURI() {
- return schemaTypeNamespaceURI;
- }
-
- public void setSchemaTypeNamespaceURI(String schemaTypeNamespaceURI) {
- this.schemaTypeNamespaceURI = schemaTypeNamespaceURI;
- }
-
- public void setXmlOutputLocation(String xmlOutputLocation) throws Exception {
- this.xmlOutputLocation = xmlOutputLocation;
- handleXMLOutputLocationOption(xmlOutputLocation);
- }
-
- public boolean isGenerateSampleData() {
- return generateSampleData;
- }
-
- public void setGenerateSampleData(boolean generateSampleData) {
- this.generateSampleData = generateSampleData;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDGenerator.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDGenerator.java
deleted file mode 100644
index 357d4203fe..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDGenerator.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-/**
- * This class provides a command line tooling functinality for creating an XML
- * instance from an input XSD.
- */
-public class XMLfromXSDGenerator {
- public static int generatorType = XMLGenerator.XMLBEANS_BASED;
-
- /**
- * @param args
- */
- public static void main(String[] args) {
- try {
- new XMLfromXSDGenerator().generateXMLInstance(args);
- } catch (Exception e) {
- e.printStackTrace();
- System.out.println(getPrintUsageMessage());
- }
- }
-
- public void generateXMLInstance(String args[]) throws Exception {
- // create a configuration object to hold settings for this generation
- XMLfromXSDConfiguration config = new XMLfromXSDConfiguration();
-
- // create an argument processor to process the input arguments
- CmdLineArgsProcessor argsProcessor = new CmdLineArgsProcessor();
-
- // configure the args processor with the 'config' object that must be populated
- // with values from the proecessed input arguments
- argsProcessor.setArgsHandler(config);
-
- // set the usage message to be output by the args processor if input arguments are not proper
- argsProcessor.setPrintUsageMessage(getPrintUsageMessage());
-
- // start processing the arguments
- argsProcessor.processArgs(args);
-
- // now that the configuration settings are populated from the input arguments
- // instantiate the xmlfromsdogenerator with this config object
-
- XMLGenerator generator = new XMLGeneratorFactory().createGenerator(generatorType);
- // XBbasedXMLGenerator generator = new XBbasedXMLGenerator(config);
-
- // generate the xml instance
- generator.generateXML(config);
- }
-
- protected static String getPrintUsageMessage() {
- StringBuffer strBuffer = new StringBuffer();
- strBuffer.append("Usage arguments:\n");
- strBuffer.append(" [ -rns <root element namespace URI> ]\n");
- strBuffer.append(" [ -rn <root element name> ]\n");
- strBuffer.append(" [ -xsd <xsd file> ]\n");
- strBuffer.append(" [ -of <output xml filename> ]\n");
- strBuffer.append(" [ -o <output location> ]\n");
- strBuffer.append(" [ -st <name of the schema type to be instantiated as xml> ]\n");
- strBuffer.append(" [ -stn <namespace URI of the schema type> ]\n");
- strBuffer.append(" [ -sd (provide this flag if sample data is to be generated)\n");
-
- return strBuffer.toString();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceCreationException.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceCreationException.java
deleted file mode 100644
index 140d3efdb4..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceCreationException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-/**
- * The Exception wrapper class for encasulating exceptions that occur during xml instance creation
- *
- */
-public class XmlInstanceCreationException extends Exception {
-
- public XmlInstanceCreationException(String message) {
- super(message);
- }
-
- public XmlInstanceCreationException(Exception e) {
- super(e);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceRegistry.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceRegistry.java
deleted file mode 100644
index 15f0fcfb73..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceRegistry.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-import java.util.Map;
-
-import org.apache.xmlbeans.XmlObject;
-
-/**
- * Interface for system registry of xml instances
- *
- */
-public interface XmlInstanceRegistry {
- public Map<String, XmlObject> getXmlInstance(String wsdlPath) throws XmlInstanceCreationException;
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceRegistryImpl.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceRegistryImpl.java
deleted file mode 100644
index 73b7232eae..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XmlInstanceRegistryImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.apache.xmlbeans.XmlObject;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Scope;
-
-/**
- * An implementation for the XMLInstnaceRegistry
- *
- */
-@Scope("MODULE")
-public class XmlInstanceRegistryImpl implements XmlInstanceRegistry {
-
- private Hashtable<String, Map<String, XmlObject>> wsdlXmlInstances;
-
- private XMLGenerator xmlGenerator;
-
- public XmlInstanceRegistryImpl() {
- wsdlXmlInstances = new Hashtable<String, Map<String, XmlObject>>();
-
- XMLfromXSDConfiguration generationConfig = new XMLfromXSDConfiguration();
- xmlGenerator = XMLGeneratorFactory.getInstance().createGenerator(XMLGenerator.XMLBEANS_BASED);
- xmlGenerator.setConfig(generationConfig);
- }
-
- @Init(eager = true)
- public void init() {
- }
-
- /* (non-Javadoc)
- * @see org.apache.tuscany.container.javascript.XmlInstanceRegistry#getXmlInstance(java.lang.String, java.lang.String, java.lang.String)
- */
- public Map<String, XmlObject> getXmlInstance(String wsdlPath) throws XmlInstanceCreationException {
- Map<String, XmlObject> xmlInstanceMap = null;
- if ((xmlInstanceMap = wsdlXmlInstances.get(wsdlPath)) == null) {
- try {
- xmlGenerator.getConfig().setXsdFileName(wsdlPath);
- xmlInstanceMap = xmlGenerator.generateXmlAll();
- wsdlXmlInstances.put(wsdlPath, xmlInstanceMap);
- } catch (Exception e) {
- throw new XmlInstanceCreationException(e);
- }
- }
- return xmlInstanceMap;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index beb51e4c82..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- JavaScript configuration for the launcher environment.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
-
- name="org.apache.tuscany.launcher.JavaScriptImplementation">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.containers</group>
- <name>javascript</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <component name="javascript.implementationLoader">
- <system:implementation.system class="org.apache.tuscany.container.javascript.JavaScriptImplementationLoader"/>
- </component>
-
- <component name="javascript.componentTypeLoader">
- <system:implementation.system class="org.apache.tuscany.container.javascript.JavaScriptComponentTypeLoader"/>
- </component>
-
- <component name="javascript.componentBuilder">
- <system:implementation.system class="org.apache.tuscany.container.javascript.JavaScriptComponentBuilder"/>
- </component>
-
- <!-- Xml Instance Registry service -->
- <component name="xmlInstRegistry">
- <system:implementation.system class="org.apache.tuscany.container.javascript.utils.xmlfromxsd.XmlInstanceRegistryImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/js.system.scdl b/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/js.system.scdl
deleted file mode 100644
index 914c53c10c..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/js.system.scdl
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- JavaScript configuration for the launcher environment.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
-
- name="org.apache.tuscany.launcher.JavaScriptImplementation">
-
- <component name="javascript.implementationLoader">
- <system:implementation.system class="org.apache.tuscany.container.javascript.JavaScriptImplementationLoader"/>
- </component>
-
- <component name="javascript.componentTypeLoader">
- <system:implementation.system class="org.apache.tuscany.container.javascript.JavaScriptComponentTypeLoader"/>
- </component>
-
- <component name="javascript.componentBuilder">
- <system:implementation.system class="org.apache.tuscany.container.javascript.JavaScriptComponentBuilder"/>
- </component>
-
- <!-- Xml Instance Registry service -->
- <component name="xmlInstRegistry">
- <system:implementation.system class="org.apache.tuscany.container.javascript.utils.xmlfromxsd.XmlInstanceRegistryImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/helloworld/HelloWorldService.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/helloworld/HelloWorldService.java
deleted file mode 100644
index e0b1ab2303..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/helloworld/HelloWorldService.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package helloworld;
-
-import org.apache.axiom.om.OMElement;
-
-public interface HelloWorldService {
-
- String sayHello(String s);
- OMElement sayE4XHello(OMElement xmlObject);
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/helloworld/HelloWorldServiceImpl.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/helloworld/HelloWorldServiceImpl.java
deleted file mode 100644
index ac17e29eb0..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/helloworld/HelloWorldServiceImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package helloworld;
-
-import java.io.ByteArrayInputStream;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.util.StAXUtils;
-
-public class HelloWorldServiceImpl implements HelloWorldService {
-
- public OMElement sayE4XHello(OMElement xmlObject) {
-
- String helloString = "<hel:getGreetingsResponse xmlns:hel=\"http://helloworld\">"
- + "<hel:getGreetingsReturn>Hello from Java Implementation to </hel:getGreetingsReturn>NoString</hel:getGreetingsResponse>";
-
- try {
- String inputValue = xmlObject.getFirstElement().getText();
-
- XMLStreamReader xmlReader = StAXUtils.createXMLStreamReader(new ByteArrayInputStream(helloString.getBytes()));
-
- StAXOMBuilder staxOMBuilder = new StAXOMBuilder(OMAbstractFactory.getOMFactory(), xmlReader);
- OMElement response = staxOMBuilder.getDocumentElement();
- response.getFirstElement().setText(response.getFirstElement().getText() + inputValue);
-
- return response;
- } catch (Exception e) {
- return null;
- }
- }
-
- public String sayHello(String s) {
- return "Hello " + s;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/JavaScriptImplementationLoaderTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/JavaScriptImplementationLoaderTestCase.java
deleted file mode 100644
index b7f081bb70..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/JavaScriptImplementationLoaderTestCase.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-
-import junit.framework.TestCase;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.easymock.classextension.EasyMock.verify;
-
-/**
- * Tests for JavaScriptImplementationLoader
- */
-public class JavaScriptImplementationLoaderTestCase extends TestCase {
- private CompositeComponent parent;
-
- private XMLStreamReader reader;
-
- private DeploymentContext deploymentContext;
-
- private ClassLoader classLoader;
-
- private LoaderRegistry registry;
-
- private JavaScriptImplementationLoader loader;
-
- public void testNoScriptAttribute() throws LoaderException, XMLStreamException {
- expect(reader.getAttributeValue(null, "script")).andReturn(null);
- replay(reader);
- replay(deploymentContext);
-
- try {
- loader.load(parent, reader, deploymentContext);
- fail();
- } catch (MissingResourceException e) {
- // ok
- }
- verify(reader);
- verify(deploymentContext);
- }
-
- public void testNoScriptPresent() throws LoaderException, XMLStreamException {
- expect(reader.getAttributeValue(null, "script")).andReturn("foo.groovy");
- expect(deploymentContext.getClassLoader()).andReturn(classLoader);
-
- replay(reader);
- replay(deploymentContext);
-
- JavaScriptImplementationLoader mockLoader = new JavaScriptImplementationLoader(registry) {
- protected String loadSource(ClassLoader cl, String resource) throws LoaderException {
- assertSame(classLoader, cl);
- assertEquals("foo.groovy", resource);
- throw new MissingResourceException(resource);
- }
- };
- try {
- mockLoader.load(parent, reader, deploymentContext);
- fail();
- } catch (MissingResourceException e) {
- assertEquals("foo.groovy", e.getMessage());
- }
- verify(reader);
- verify(deploymentContext);
- }
-
- public void testLoadScript() throws LoaderException {
- String script =
- loader.loadSource(getClass().getClassLoader(), "org/apache/tuscany/container/javascript/mock/test.js");
- assertEquals("//Test Script", script);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- registry = createMock(LoaderRegistry.class);
- loader = new JavaScriptImplementationLoader(registry);
-
- parent = createMock(CompositeComponent.class);
- reader = createMock(XMLStreamReader.class);
- deploymentContext = createMock(DeploymentContext.class);
- classLoader = createMock(ClassLoader.class);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/PropertyTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/PropertyTestCase.java
deleted file mode 100644
index 7287d7833f..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/PropertyTestCase.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.container.javascript.mock.Greeting;
-import org.apache.tuscany.container.javascript.rhino.RhinoScript;
-import org.apache.tuscany.core.component.scope.ModuleScopeContainer;
-import org.apache.tuscany.spi.wire.WireService;
-import org.apache.tuscany.test.ArtifactFactory;
-
-/**
- * Tests for component properties
- */
-public class PropertyTestCase extends TestCase {
-
- private static final String SCRIPT = "function greet(name){ return property; }";
-
- private RhinoScript implClass;
-
- /**
- * Tests injecting a simple property type on a Javascript implementation instance
- */
- public void testPropertyInjection() throws Exception {
- /*ModuleScopeContainer scope = new ModuleScopeContainer(null);
- scope.start();
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- Map<String, Object> properties = new HashMap<String, Object>();
- properties.put("property", "bar");
- WireService wireService = ArtifactFactory.createWireService();
- JavaScriptComponent<Greeting> context = new JavaScriptComponent<Greeting>("source", implClass, services, properties, null, scope, wireService, null);
- scope.register(context);
- Greeting greeting = context.getServiceInstance();
- assertEquals("bar", greeting.greet("foo"));
- scope.stop();*/
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- implClass = new RhinoScript("test", SCRIPT);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/RhinoScriptIntrospectorTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/RhinoScriptIntrospectorTestCase.java
deleted file mode 100644
index 3a51a8f619..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/RhinoScriptIntrospectorTestCase.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Map;
-import javax.wsdl.WSDLException;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-import helloworld.HelloWorldService;
-import junit.framework.TestCase;
-import org.apache.tuscany.container.javascript.rhino.RhinoSCAConfig;
-import org.apache.tuscany.container.javascript.rhino.RhinoScript;
-import org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl;
-import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
-import org.apache.tuscany.idl.wsdl.XMLSchemaRegistryImpl;
-
-public class RhinoScriptIntrospectorTestCase extends TestCase {
-
- private static final WSDLDefinitionRegistryImpl.Monitor NULL_MONITOR = new WSDLDefinitionRegistryImpl.Monitor() {
- public void readingWSDL(String namespace, URL location) {
- }
-
- public void cachingDefinition(String namespace, URL location) {
- }
- };
-
- public void testJavaInterface() throws MissingResourceException, InvalidServiceContractException {
- RhinoScript rs =
- new RhinoScript("javaInterfaceTest", "SCA = { javaInterface : 'helloworld.HelloWorldService',};",
- null, getClass().getClassLoader());
- RhinoSCAConfig scaConfig = new RhinoSCAConfig(rs.getScriptScope());
- JavaScriptIntrospector introspector =
- new JavaScriptIntrospector(null, new JavaInterfaceProcessorRegistryImpl());
- ComponentType comonentType = introspector.introspectScript(scaConfig, rs.getClassLoader());
- assertNotNull(comonentType);
- Map services = comonentType.getServices();
- assertEquals(1, services.size());
- ServiceDefinition serviceDefinition = (ServiceDefinition) services.values().iterator().next();
- ServiceContract serviceContract = serviceDefinition.getServiceContract();
- assertTrue(serviceContract instanceof JavaServiceContract);
- JavaServiceContract javaServiceContract = (JavaServiceContract) serviceContract;
- assertEquals(HelloWorldService.class, javaServiceContract.getInterfaceClass());
- }
-
- public void testWSDLLocation() throws WSDLException {
-// RhinoScript rs = new RhinoScript("wsdlLocation",
-// "SCA = { wsdlLocation : 'src/test/resources/org/apache/tuscany/container/javascript/rhino/helloworld.wsdl',};", null, getClass()
-// .getClassLoader());
-// RhinoSCAConfig scaConfig = new RhinoSCAConfig(rs.getScriptScope());
-// JavaScriptIntrospector introspector = new JavaScriptIntrospector(null);
-// ComponentType comonentType = introspector.introspectScript(scaConfig, rs.getClassLoader());
-// assertNotNull(comonentType);
-// Map services = comonentType.getServices();
-// assertEquals(1, services.size());
-// ServiceDefinition serviceDefinition = (ServiceDefinition) services.values().iterator().next();
-// ServiceContract serviceContract = serviceDefinition.getServiceContract();
-// assertTrue(serviceContract instanceof WSDLServiceContract);
-// WSDLServiceContract wsdlServiceContract = (WSDLServiceContract) serviceContract;
-// assertEquals(new QName("http://helloworld", "HelloWorld"), wsdlServiceContract.getPortType().getQName());
- }
-
- public void testWSDLPortType() throws WSDLException, IOException, MissingResourceException,
- InvalidServiceContractException {
- RhinoScript rs = new RhinoScript("wsdlPortType",
- "SCA = { wsdlPortType : 'HelloWorld', wsdlNamespace : 'http://helloworld',};", null,
- getClass().getClassLoader());
- RhinoSCAConfig scaConfig = new RhinoSCAConfig(rs.getScriptScope());
-
- WSDLDefinitionRegistryImpl wsdlReg = new WSDLDefinitionRegistryImpl();
- wsdlReg.setSchemaRegistry(new XMLSchemaRegistryImpl());
- wsdlReg.setMonitor(NULL_MONITOR);
- URL wsdlURL =
- getClass().getClassLoader().getResource("org/apache/tuscany/container/javascript/rhino/helloworld.wsdl");
- wsdlReg.loadDefinition("http://helloworld", wsdlURL);
-
- JavaScriptIntrospector introspector =
- new JavaScriptIntrospector(wsdlReg, new JavaInterfaceProcessorRegistryImpl());
- ComponentType comonentType = introspector.introspectScript(scaConfig, rs.getClassLoader());
- assertNotNull(comonentType);
- Map services = comonentType.getServices();
- assertEquals(1, services.size());
- ServiceDefinition serviceDefinition = (ServiceDefinition) services.values().iterator().next();
- ServiceContract serviceContract = serviceDefinition.getServiceContract();
- assertTrue(serviceContract instanceof WSDLServiceContract);
- WSDLServiceContract wsdlServiceContract = (WSDLServiceContract) serviceContract;
- assertEquals(new QName("http://helloworld", "HelloWorld"), wsdlServiceContract.getPortType().getQName());
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/ScriptInvokeTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/ScriptInvokeTestCase.java
deleted file mode 100644
index 94835591df..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/ScriptInvokeTestCase.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.container.javascript.mock.Greeting;
-import org.apache.tuscany.container.javascript.rhino.RhinoScript;
-import org.apache.tuscany.core.component.scope.ModuleScopeContainer;
-import org.apache.tuscany.test.ArtifactFactory;
-
-/**
- * Tests for invoker JavaScriptComponents
- */
-public class ScriptInvokeTestCase extends TestCase {
-
- private static final String SCRIPT = "function greet(name) { return name }";
-
- private RhinoScript rhinoScript;
-
- /**
- * Tests the invocation of a Groovy "script" as opposed to a class
- */
- public void testBasicScriptInvocation() throws Exception {
-// ModuleScopeContainer scope = new ModuleScopeContainer(null);
-// scope.start();
-// List<Class<?>> services = new ArrayList<Class<?>>();
-// services.add(Greeting.class);
-// JavaScriptComponent<Greeting> context = new JavaScriptComponent<Greeting>("source", rhinoScript, services, new HashMap<String, Object>(),
-// null, scope, ArtifactFactory.createWireService(), null);
-// scope.register(context);
-// Greeting object = (Greeting) context.getServiceInstance();
-// assertEquals("foo", object.greet("foo"));
-// scope.stop();
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- rhinoScript = new RhinoScript("test", SCRIPT);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/WireTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/WireTestCase.java
deleted file mode 100644
index 8bf7f8e74a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/WireTestCase.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript;
-
-import static org.easymock.EasyMock.reportMatcher;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.container.javascript.mock.Greeting;
-import org.apache.tuscany.container.javascript.rhino.RhinoScript;
-import org.apache.tuscany.core.component.scope.ModuleScopeContainer;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InboundInvocationChain;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.test.ArtifactFactory;
-import org.easymock.IArgumentMatcher;
-
-/**
- * Tests for JavaScript component wiring
- */
-public class WireTestCase extends TestCase {
-
- private static final String SCRIPT =
- " function setWire(ref){" +
- " wire = ref;" + " }" +
- " " +
- " function greet(name){" +
- " return wire.greet(name); " +
- " }";
-
- private static final String SCRIPT2 =
- " function greet(name){" +
- " return name; " +
- " }";
-
- private RhinoScript implClass1;
-
- private RhinoScript implClass2;
-
- /**
- * Tests a basic invocation down a source wire
- */
- public void testReferenceWireInvocation() throws Exception {
-// ModuleScopeContainer scope = new ModuleScopeContainer(null);
-// scope.start();
-//
-// List<Class<?>> services = new ArrayList<Class<?>>();
-// services.add(Greeting.class);
-// JavaScriptComponent<Greeting> context = new JavaScriptComponent<Greeting>("source", implClass1, services, properties, null, scope,
-// ArtifactFactory.createWireService(), null);
-// OutboundWire wire = ArtifactFactory.createOutboundWire("wire", Greeting.class);
-// ArtifactFactory.terminateWire(wire);
-//
-// TargetInvoker invoker = createMock(TargetInvoker.class);
-// expect(invoker.isCacheable()).andReturn(false);
-// Message response = new MessageImpl();
-// response.setBody("foo");
-// expect(invoker.invoke(eqMessage())).andReturn(response);
-// replay(invoker);
-//
-// for (OutboundInvocationChain chain : wire.getInvocationChains().values()) {
-// chain.setTargetInvoker(invoker);
-// }
-// scope.register(context);
-// context.addOutboundWire(wire);
-// Greeting greeting = context.getServiceInstance();
-// assertEquals("foo", greeting.greet("foo"));
-// verify(invoker);
-//
-// scope.stop();
- }
-
- // todo this could be generalized and moved to test module
- public static Message eqMessage() {
- reportMatcher(new IArgumentMatcher() {
- public boolean matches(Object object) {
- if (!(object instanceof Message)) {
- return false;
- }
- final Message msg = (Message) object;
- Object[] body = (Object[]) msg.getBody();
- return "foo".equals(body[0]);
- }
-
- public void appendTo(StringBuffer stringBuffer) {
- }
- });
- return null;
- }
-
- /**
- * Tests a basic invocation to a target
- */
- public void testTargetInvocation() throws Exception {
- ModuleScopeContainer scope = new ModuleScopeContainer(null);
- scope.start();
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- JavaScriptComponent context =
- new JavaScriptComponent("source", implClass2, new HashMap<String, Object>(), services, null, scope,
- ArtifactFactory.createWireService(), null);
- scope.register(context);
- Operation<Type> operation = new Operation<Type>("greet", null, null, null, false, null);
- TargetInvoker invoker = context.createTargetInvoker(null, operation);
- assertEquals("foo", invoker.invokeTarget(new String[]{"foo"}));
- scope.stop();
- }
-
- /**
- * Tests a basic invocation down a target wire
- */
- public void testTargetWireInvocation() throws Exception {
- ModuleScopeContainer scope = new ModuleScopeContainer(null);
- scope.start();
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- JavaScriptComponent context =
- new JavaScriptComponent("source", implClass2, new HashMap<String, Object>(), services, null, scope,
- ArtifactFactory.createWireService(), null);
- scope.register(context);
-
- InboundWire wire = ArtifactFactory.createInboundWire("Greeting", Greeting.class);
- ArtifactFactory.terminateWire(wire);
- for (InboundInvocationChain chain : wire.getInvocationChains().values()) {
- chain.setTargetInvoker(context.createTargetInvoker(null, chain.getOperation()));
- }
- context.addInboundWire(wire);
- Greeting greeting = (Greeting) context.getServiceInstance("Greeting");
- assertEquals("foo", greeting.greet("foo"));
- scope.stop();
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- implClass1 = new RhinoScript("script1", SCRIPT);
- implClass2 = new RhinoScript("script2", SCRIPT2);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/HelloWorldTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/HelloWorldTestCase.java
deleted file mode 100644
index 3db49618e2..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/HelloWorldTestCase.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.function;
-
-import helloworld.HelloWorldService;
-
-import java.io.ByteArrayInputStream;
-import java.net.URL;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.util.StAXUtils;
-import org.apache.tuscany.test.SCATestCase;
-import org.osoa.sca.CompositeContext;
-import org.osoa.sca.CurrentCompositeContext;
-
-/**
- * This shows how to test the HelloWorld service component.
- */
-public class HelloWorldTestCase extends SCATestCase {
-
- private CompositeContext context;
-
- protected void setUp() throws Exception {
- URL base = getClass().getResource("/META-INF/sca/js.system.scdl");
- addExtension("JavaScriptContainer", new URL(base, "default.scdl"));
- setApplicationSCDL(getClass().getResource("helloworld.scdl"));
- super.setUp();
-
- context = CurrentCompositeContext.getContext();
- }
-
- public void testHelloWorld() throws Exception {
- HelloWorldService helloWorldService = context.locateService(HelloWorldService.class, "HelloWorldComponent");
- assertEquals(helloWorldService.sayHello("petra"), "Hello petra");
- }
-
- public void testIntrospectedHelloWorld() throws Exception {
- HelloWorldService introspectableService = context.locateService(HelloWorldService.class, "IntrospectableHelloWorldComponent");
- assertEquals(introspectableService.sayHello("petra"), "Hello petra");
- }
-
- public void testE4XImplInvocation() throws Exception {
- HelloWorldService e4xHelloWorldService = context.locateService(HelloWorldService.class, "HelloWorldComponentE4X");
- String xmlInput = "<hel:getGreetings xmlns:hel=\"http://helloworld\"> " +
- "<hel:name>TuscanyWorld</hel:name> " +
- "</hel:getGreetings>";
-
- XMLStreamReader xmlReader = StAXUtils.createXMLStreamReader(
- new ByteArrayInputStream(xmlInput.getBytes()));
- StAXOMBuilder staxOMBuilder = new StAXOMBuilder(OMAbstractFactory.getOMFactory(), xmlReader);
- Object response = e4xHelloWorldService.sayE4XHello(staxOMBuilder.getDocumentElement());
- assertNotNull(response);
- assertTrue(response instanceof OMElement);
- assertEquals("e4xHello TuscanyWorld", ((OMElement)response).getFirstElement().getText());
- //System.out.println(response);
- }
-
- public void testE4XRefInvocation() throws Exception
- {
- HelloWorldService e4xHelloWorldService = context.locateService(HelloWorldService.class, "HelloWorldComponentE4X");
-
- String initialInput = "JavaClient";
- String jsAddition = " thro e4x reference";
- String endSvcImplResponse = "Hello from Java Implementation to ";
-
- Object response = e4xHelloWorldService.sayHello(initialInput);
- assertNotNull(response);
- assertTrue(response instanceof String);
- assertEquals(endSvcImplResponse + initialInput + jsAddition, response.toString());
- //System.out.println(response);
- }
-
- public void testHelloWorldProperty() throws Exception {
- HelloWorldService helloWorldService = context.locateService(HelloWorldService.class, "HelloWorldProperty");
- assertEquals(helloWorldService.sayHello("petra"), "Kia ora petra");
- System.out.println(helloWorldService.sayHello("petra"));
- }
-
- public void testHelloWorldPropertyDefault() throws Exception {
- HelloWorldService helloWorldService = context.locateService(HelloWorldService.class, "HelloWorldPropertyDefault");
- assertEquals(helloWorldService.sayHello("petra"), "Hi petra");
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/ScopeTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/ScopeTestCase.java
deleted file mode 100644
index b823939e6c..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/function/ScopeTestCase.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.function;
-
-import java.net.URL;
-
-import helloworld.HelloWorldService;
-
-import org.apache.tuscany.test.SCATestCase;
-import org.osoa.sca.CompositeContext;
-import org.osoa.sca.CurrentCompositeContext;
-
-/**
- * This shows how to test the HelloWorld service component.
- */
-public class ScopeTestCase extends SCATestCase {
-
- private CompositeContext context;
-
- protected void setUp() throws Exception {
- URL base = getClass().getResource("/META-INF/sca/js.system.scdl");
- addExtension("JavaScriptContainer", new URL(base, "default.scdl"));
- setApplicationSCDL(getClass().getResource("scopeTest.scdl"));
- super.setUp();
-
- context = CurrentCompositeContext.getContext();
- }
-
-// Composite scope not implemented in core yet
-// public void testComposite() throws Exception {
-// HelloWorldService composoteScopeService = context.locateService(HelloWorldService.class, "ComposoteScopeService");
-// assertEquals("1", composoteScopeService.sayHello(""));
-// assertEquals("2", composoteScopeService.sayHello(""));
-// }
-
- public void testStateless() throws Exception {
- HelloWorldService statelessService = context.locateService(HelloWorldService.class, "StatelessComponent");
- assertEquals("1", statelessService.sayHello(""));
- // stateless gives a new instance for each request
- assertEquals("1", statelessService.sayHello(""));
- }
-
-// Request scope not implemented in core yet
-// public void testRequestState() throws Exception {
-// HelloWorldService requestService = context.locateService(HelloWorldService.class, "RequestComponent");
-// assertEquals("1", requestService.sayHello(""));
-// assertEquals("1", requestService.sayHello(""));
-// }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/mock/Greeting.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/mock/Greeting.java
deleted file mode 100644
index e300f73469..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/mock/Greeting.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.mock;
-
-public interface Greeting {
-
- String setWire(Greeting ref);
-
- String greet(String name);
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/Foo.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/Foo.java
deleted file mode 100644
index 397501a23b..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/Foo.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.rhino;
-
-class Foo {
- private String s;
-
- public Foo() {
- }
-
- public String getS() {
- return s;
- }
-
- public void setS(String s) {
- this.s = s;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoFunctionInvokerTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoFunctionInvokerTestCase.java
deleted file mode 100644
index dad61659f3..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoFunctionInvokerTestCase.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.rhino;
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-
-/**
- * Tests for the RhinoFunctionInvoker
- */
-public class RhinoFunctionInvokerTestCase extends TestCase {
-
- public RhinoFunctionInvokerTestCase() {
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- public void testNoArgsInvoke() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getPetra() {return 'petra';}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getPetra");
- assertNotNull(invoker);
- assertEquals("petra", invoker.invoke(null));
- }
-
- public void testOneArgInvoke() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getS(s) {return s;}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getS");
- assertNotNull(invoker);
- assertEquals("petra", invoker.invoke(new Object[] { "petra" }));
- }
-
- public void testMultiArgsInvoke() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function concat(x, y) {return x + y}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("concat");
- assertNotNull(invoker);
- assertEquals("petrasue", invoker.invoke(new Object[] { "petra", "sue" }));
- }
-
- public void testNoResponseInvoke() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getNull() {}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getNull");
- assertNotNull(invoker);
- assertEquals(null, invoker.invoke(new Object[0]));
- }
-
- public void testNullResponseInvoke() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getNull() {return null;}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getNull");
- assertNotNull(invoker);
- assertEquals(null, invoker.invoke(new Object[0]));
- }
-
- public void testResponseTypeDefaultString() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getTrue() {return true;}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getTrue");
- assertNotNull(invoker);
- Object o = invoker.invoke(new Object[0]);
- assertTrue(o instanceof String);
- assertEquals("true", o);
- }
-
- public void testResponseTypeBoolean() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getTrue() {return true;}");
- //rhinoScript.setResponseClass("getTrue", Boolean.class);
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getTrue", Boolean.class);
- assertNotNull(invoker);
- assertTrue((Boolean) invoker.invoke(new Object[0]));
- }
-
- public void testResponseTypeStringArray() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getAs() {var as = new Array(1);as[0]='petra';return as;}");
- //rhinoScript.setResponseClass("getAs", new String[0].getClass());
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getAs", new String[0].getClass());
- assertNotNull(invoker);
- Object o = invoker.invoke(new Object[0]);
- assertNotNull(o);
- assertTrue(o.getClass().isArray());
- assertEquals("petra", ((Object[]) o)[0]);
- }
-
- public void testResponseTypeBooleanArray() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getBs() {var bs = new Array(1);bs[0]=true;return bs;}");
- rhinoScript.setResponseClass("getBs", new Boolean[0].getClass());
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getBs", new Boolean[0].getClass());
- assertNotNull(invoker);
- Object o = invoker.invoke(new Object[0]);
- assertNotNull(o);
- assertTrue(o.getClass().isArray());
- assertTrue(((Boolean[]) o)[0]);
- }
-
- public void testRequestCustomType() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getFooS(foo) {return foo.getS();}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getFooS");
- assertNotNull(invoker);
-
- Foo foo = new Foo();
- foo.setS("petra");
- Object o = invoker.invoke(new Object[] { foo });
- assertEquals(foo.getS(), o);
- }
-
- public void testResponseCustomType() {
- RhinoScript rhinoScript = new RhinoScript("foo",
- "importClass(Packages.org.apache.tuscany.container.javascript.rhino.Foo);function getFoo(s) {var foo = new Foo(); foo.setS(s);return foo;}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getFoo");
- assertNotNull(invoker);
-
- Object o = invoker.invoke(new Object[] { "petra" });
- assertNotNull(o);
- assertEquals("petra", ((Foo) o).getS());
- }
-
- public void testXMLRequest() throws XmlException, IOException {
- RhinoScript rhinoScript = new RhinoScript("foo", "function isXML(x) {return 'xml' == (typeof x);}");
- //rhinoScript.setResponseClass("isXML", Boolean.class);
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("isXML", Boolean.class);
- assertNotNull(invoker);
-
- Object xml = XmlObject.Factory.parse("<a><b/></a>");
- assertTrue((Boolean) invoker.invoke(new Object[] { xml }));
-
- Object notXML = "notXML";
- assertFalse((Boolean) invoker.invoke(new Object[] { notXML }));
- }
-
- public void testXMLResponse() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getXML(s) {return <a> { s } </a>;}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getXML");
- assertNotNull(invoker);
-
- Object xml = invoker.invoke(new Object[] { "petra" });
- assertNotNull(xml);
- assertTrue(xml instanceof OMElement);
- assertEquals("<a>petra</a>", ((OMElement) xml).toString());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfigTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfigTestCase.java
deleted file mode 100644
index cddaa9c46f..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfigTestCase.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.rhino;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.spi.model.Scope;
-
-public class RhinoSCAConfigTestCase extends TestCase {
-
- public void testJavaInteface() {
- RhinoScript rs = new RhinoScript("javaInterface", "SCA = { javaInterface : 'Test' }");
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- assertTrue(scaConfig.hasSCAConfig());
- assertEquals("Test", scaConfig.getJavaInterface());
- }
-
- public void testWSDLLocation() {
- RhinoScript rs = new RhinoScript("wsdlLocation", "SCA = { wsdlLocation : 'Test' }");
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- assertTrue(scaConfig.hasSCAConfig());
- assertEquals("Test", scaConfig.getWSDLLocation());
- }
-
- public void testWSDLNamespace() {
- RhinoScript rs = new RhinoScript("wsdlNamespace", "SCA = { wsdlNamespace : 'Test' }");
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- assertTrue(scaConfig.hasSCAConfig());
- assertEquals("Test", scaConfig.getWSDLNamespace());
- }
-
- public void testWSDLPortType() {
- RhinoScript rs = new RhinoScript("wsdlPortType", "SCA = { wsdlPortType : 'Test' }");
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- assertTrue(scaConfig.hasSCAConfig());
- assertEquals("Test", scaConfig.getWSDLPortType());
- }
-
- public void testScopeStateless() {
- RhinoScript rs = new RhinoScript("testScopeStateless", "SCA = { scope : 'stateless', javaInterface : 'helloworld.HelloWorldService'}");
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- assertTrue(scaConfig.hasSCAConfig());
- assertEquals(Scope.STATELESS, scaConfig.getScope());
- }
-
- public void testScopeComposite() {
- RhinoScript rs = new RhinoScript("testScopeComposite", "SCA = { scope : 'composite', javaInterface : 'helloworld.HelloWorldService'}");
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- assertTrue(scaConfig.hasSCAConfig());
- assertEquals(Scope.MODULE, scaConfig.getScope()); // TODO
- }
-
- public void testScopeConversational() {
- RhinoScript rs = new RhinoScript("testScopeConversational", "SCA = { scope : 'conversational', javaInterface : 'helloworld.HelloWorldService'}");
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- assertTrue(scaConfig.hasSCAConfig());
- assertEquals(Scope.SESSION, scaConfig.getScope());
- }
-
- public void testScopeRequest() {
- RhinoScript rs = new RhinoScript("testScopeRequest", "SCA = { scope : 'request', javaInterface : 'helloworld.HelloWorldService'}");
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- assertTrue(scaConfig.hasSCAConfig());
- assertEquals(Scope.REQUEST, scaConfig.getScope());
- }
-
- public void testBadScope() {
- RhinoScript rs = new RhinoScript("testScopeStateless", "SCA = { scope : 'rubbish', javaInterface : 'helloworld.HelloWorldService'}");
- try {
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- fail("expecting bad scope exception: " + scaConfig);
- } catch (IllegalArgumentException e) {
- }
- }
-
- public void testNoConfig() {
- RhinoScript rs = new RhinoScript("javaInterface", "");
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- assertTrue(!scaConfig.hasSCAConfig());
- }
-
- public void testNoService() {
- RhinoScript rs = new RhinoScript("javaInterface", "SCA = {}");
- try {
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- fail("expecting no service exception: " + scaConfig);
- } catch (IllegalArgumentException e) {
- }
- }
-
- public void testDupicateInteface() {
- RhinoScript rs = new RhinoScript("javaInterface", "SCA = { javaInterface : 'Test', wsdlLocation : 'Test' }");
- try {
- RhinoSCAConfig scaConfig = rs.getSCAConfig();
- fail("expecting multiple service exception: " + scaConfig);
- } catch (IllegalArgumentException e) {
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptInstanceTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptInstanceTestCase.java
deleted file mode 100644
index 76d6c7c49d..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptInstanceTestCase.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.rhino;
-
-import junit.framework.TestCase;
-
-/**
- * Tests for the RhinoScriptInstance
- */
-public class RhinoScriptInstanceTestCase extends TestCase {
-
- public RhinoScriptInstanceTestCase() {
-
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- public void testInvokeFunction() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getPetra() {return 'petra';}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- assertEquals("petra", instance.invokeFunction("getPetra", new Object[0]));
- }
-
- public void testCreateRhinoFunctionInvoker() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getPetra() {return 'petra';}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- RhinoFunctionInvoker invoker = instance.createRhinoFunctionInvoker("getPetra");
- assertNotNull(invoker);
- assertEquals("petra", invoker.invoke(new Object[0]));
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptTestCase.java
deleted file mode 100644
index ab684c39ce..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/rhino/RhinoScriptTestCase.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.rhino;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-/**
- * Tests for the RhinoScript
- */
-public class RhinoScriptTestCase extends TestCase {
-
- public RhinoScriptTestCase() {
-
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- public void testSimpleConstructor() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getPetra() {return 'petra';}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- assertEquals("petra", instance.invokeFunction("getPetra", new Object[0]));
- }
-
- public void testFullConstructor() {
- ClassLoader cl = getClass().getClassLoader();
- Map<String, Object> contexts = new HashMap<String, Object>();
- contexts.put("name", "petra");
- RhinoScript rhinoScript = new RhinoScript("foo", "function getName() {return name;}", contexts, cl);
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- assertEquals("petra", instance.invokeFunction("getName", new Object[0]));
- }
-
- public void testCreateInstance() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getPetra() {return 'petra';}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- assertNotNull(instance);
- }
-
- public void testCreateInstanceWithContext() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getName() {return name;}");
- Map<String, Object> contexts = new HashMap<String, Object>();
- contexts.put("name", "petra");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance(contexts);
- assertEquals("petra", instance.invokeFunction("getName", new Object[0]));
- }
-
- public void testDefaultResponseType() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getX() {return 42;}");
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- assertEquals("42", instance.invokeFunction("getX", new Object[0]));
- }
-
- public void testSetResponseType() {
- RhinoScript rhinoScript = new RhinoScript("foo", "function getX() {return 42;}");
- rhinoScript.setResponseClass("getX", Integer.class);
- RhinoScriptInstance instance = rhinoScript.createRhinoScriptInstance();
- Object x = instance.invokeFunction("getX", new Object[0], Integer.class);
- assertTrue(x instanceof Integer);
- assertEquals(new Integer(42), x);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDGeneratorTestCase.java b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDGeneratorTestCase.java
deleted file mode 100644
index 15752bdaa1..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/utils/xmlfromxsd/XMLfromXSDGeneratorTestCase.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.javascript.utils.xmlfromxsd;
-
-import junit.framework.TestCase;
-
-public class XMLfromXSDGeneratorTestCase extends TestCase {
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- /*public void testXMLInstance_SDO_based_1()
- {
- String[] arguments = new String[] { "-xsd", "sequences.xsd",
- "-st", "MixedQuote",
- "-stn", "http://www.example.com/sequences",
- "-o", "target/xmlFromxsd-source",
- "-of", "sequences_sdo.xml"
- };
-
- XMLfromXSDGenerator.main(arguments);
- //File file = new File("target/java2wsdl-source/CustomerValue.wsdl");
- //assertTrue(file.exists() && file.isFile());
- }
-
- public void testXMLInstance_SDO_based_2()
- {
- try
- {
- XMLfromXSDConfiguration config = new XMLfromXSDConfiguration();
- config.setXsdFileName("interopdoc.wsdl");
- config.setSchemaTypeName("ComplexDocument");
- config.setSchemaTypeNamespaceURI("http://soapinterop.org/");
- config.setXmlOutputLocation("target/xmlFromxsd-source");
- config.setXmlFileName("interopdoc_sdo.xml");
-
- XMLGeneratorFactory.getInstance().createGenerator(XMLGenerator.SDO_BASED).generateXML(config);
- //XMLGeneratorFactory.getInstance().createGenerator(XMLGenerator.XMLBEANS_BASED).generateXML(config);
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- }
-
- public void testXMLInstance_SDO_based_3()
- {
- try
- {
- XMLfromXSDConfiguration config = new XMLfromXSDConfiguration();
- config.setXsdFileName("helloworld.wsdl");
- //config.setSchemaTypeName("getGreetings");
- config.setSchemaTypeName("ComplexGreetings");
- config.setSchemaTypeNamespaceURI("http://helloworldaxis.samples.tuscany.apache.org");
- config.setXmlOutputLocation("target/xmlFromxsd-source");
- config.setXmlFileName("helloworld_sdo.xml");
-
- XMLGeneratorFactory.getInstance().createGenerator(XMLGenerator.SDO_BASED).generateXML(config);
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- }*/
-
- public void testXMLInstance_XB_based_1() {
- String[] arguments = new String[] { "-xsd", "src/test/resources/sequences.xsd", "-st", "mixedStockQuote", "-stn",
- "http://www.example.com/sequences", "-o", "target/xmlFromxsd-source", "-of", "sequences_xb.xml" };
-
- XMLfromXSDGenerator.generatorType = XMLGenerator.XMLBEANS_BASED;
- XMLfromXSDGenerator.main(arguments);
- /*
- * File file = new File("target/java2wsdl-source/CustomerValue.wsdl"); assertTrue(file.exists() && file.isFile());
- */
- }
-
- public void testXMLInstance_XB_based_2() {
- try {
- XMLfromXSDConfiguration config = new XMLfromXSDConfiguration();
- config.setXsdFileName("interopdoc.wsdl");
- config.setSchemaTypeName("ComplexDocument");
- config.setSchemaTypeNamespaceURI("http://soapinterop.org/");
- config.setXmlOutputLocation("target/xmlFromxsd-source");
- config.setXmlFileName("interopdoc_xb.xml");
-
- XMLGeneratorFactory.getInstance().createGenerator(XMLGenerator.XMLBEANS_BASED).generateXML(config);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public void testXMLInstance_XB_based_3() {
- try {
- XMLfromXSDConfiguration config = new XMLfromXSDConfiguration();
- config.setXsdFileName("org/apache/tuscany/container/javascript/rhino/helloworld.wsdl");
- // config.setXsdFileName("helloworld.wsdl");
- config.setSchemaTypeName("getGreetings");
- // config.setSchemaTypeName("ComplexGreetings");
- config.setSchemaTypeNamespaceURI("http://helloworld");
- config.setXmlOutputLocation("target/xmlFromxsd-source");
- config.setXmlFileName("helloworld_xb.xml");
-
- XMLGeneratorFactory.getInstance().createGenerator(XMLGenerator.XMLBEANS_BASED).generateXML(config);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/AccountService.wsdl b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/AccountService.wsdl
deleted file mode 100644
index 2a56a3c496..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/AccountService.wsdl
+++ /dev/null
@@ -1,242 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://www.bigbank.com/Account/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:account="http://www.bigbank.com/Account/"
- targetNamespace="http://www.bigbank.com/Account/"
- name="AccountService">
-
- <wsdl:types>
- <xsd:schema targetNamespace="http://www.bigbank.com/Account/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:account="http://www.bigbank.com/Account/"
- xmlns:sdojava="commonj.sdo/java"
- sdojava:package="org.apache.tuscany.samples.bigbank.account">
-
- <xsd:element name="getAccountReportWrapped0">
- <xsd:complexType>
- <xsd:sequence>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="getAccountReportWrapped0Response">
- <xsd:complexType>
- <xsd:sequence>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="getAccountReportWrapped1">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="customerID" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="getAccountReportWrapped1Response">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="accountReport" type="account:AccountReport"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="getAccountReportWrappedN">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="customerID" type="xsd:string"/>
- <xsd:element name="customerID2" type="xsd:int"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="getAccountReportWrappedNResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="accountReport" type="account:AccountReport"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="getAccountReportBare0" type="xsd:string"/>
- <xsd:element name="getAccountReportBare0Response" type="xsd:int"/>
-
- <xsd:element name="getAccountReportBare1Simple" type="xsd:string"/>
- <xsd:element name="getAccountReportBare1SimpleResponse" type="xsd:int"/>
-
- <xsd:element name="getAccountReportBare1Complex" type="account:AccountRequest"/>
- <xsd:element name="getAccountReportBare1ComplexResponse" type="account:AccountReport"/>
-
- <xsd:complexType name="AccountRequest">
- <xsd:sequence>
- <xsd:element name="customerID" type="xsd:string"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="AccountReport">
- <xsd:sequence>
- <xsd:element name="accountSummaries" type="account:AccountSummary" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="AccountSummary">
- <xsd:attribute name="accountNumber" type="xsd:string"/>
- <xsd:attribute name="accountType" type="xsd:string"/>
- <xsd:attribute name="balance" type="xsd:float"/>
- </xsd:complexType>
-
- </xsd:schema>
- </wsdl:types>
-
- <wsdl:message name="getAccountReportWrapped0Request">
- <wsdl:part element="account:getAccountReportWrapped0" name="getAccountReportWrapped0Request"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportWrapped0Response">
- <wsdl:part element="account:getAccountReportWrapped0Response" name="getAccountReportWrapped0Response"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportWrapped1Request">
- <wsdl:part element="account:getAccountReportWrapped1" name="getAccountReportWrapped1Request"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportWrapped1Response">
- <wsdl:part element="account:getAccountReportWrapped1Response" name="getAccountReportWrapped1Response"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportWrappedNRequest">
- <wsdl:part element="account:getAccountReportWrappedN" name="getAccountReportWrappedNRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportWrappedNResponse">
- <wsdl:part element="account:getAccountReportWrappedNResponse" name="getAccountReportWrappedNResponse"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportBare0Request">
- </wsdl:message>
- <wsdl:message name="getAccountReportBare0Response">
- </wsdl:message>
-
- <wsdl:message name="getAccountReportBare1SimpleRequest">
- <wsdl:part element="account:getAccountReportBare1Simple" name="getAccountReportBare1SimpleRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportBare1SimpleResponse">
- <wsdl:part element="account:getAccountReportBare1SimpleResponse" name="getAccountReportBare1SimpleResponse"/>
- </wsdl:message>
-
- <wsdl:message name="getAccountReportBare1ComplexRequest">
- <wsdl:part element="account:getAccountReportBare1Complex" name="getAccountReportBare1ComplexRequest"/>
- </wsdl:message>
- <wsdl:message name="getAccountReportBare1ComplexResponse">
- <wsdl:part element="account:getAccountReportBare1ComplexResponse" name="getAccountReportBare1ComplexResponse"/>
- </wsdl:message>
-
- <wsdl:portType name="Account_Service">
- <wsdl:operation name="getAccountReportWrapped0">
- <wsdl:input message="tns:getAccountReportWrapped0Request"/>
- <wsdl:output message="tns:getAccountReportWrapped0Response"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrapped1">
- <wsdl:input message="tns:getAccountReportWrapped1Request"/>
- <wsdl:output message="tns:getAccountReportWrapped1Response"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrappedN">
- <wsdl:input message="tns:getAccountReportWrappedNRequest"/>
- <wsdl:output message="tns:getAccountReportWrappedNResponse"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare0">
- <wsdl:input message="tns:getAccountReportBare0Request"/>
- <wsdl:output message="tns:getAccountReportBare0Response"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Simple">
- <wsdl:input message="tns:getAccountReportBare1SimpleRequest"/>
- <wsdl:output message="tns:getAccountReportBare1SimpleResponse"/>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Complex">
- <wsdl:input message="tns:getAccountReportBare1ComplexRequest"/>
- <wsdl:output message="tns:getAccountReportBare1ComplexResponse"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="AccountServiceSOAP" type="tns:Account_Service">
- <soap:binding style="document"
- transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="getAccountReportWrapped0">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportWrapped0"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrapped1">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportWrapped1"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportWrappedN">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportWrappedN"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare0">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportBare0"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Simple">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportBare1Simple"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="getAccountReportBare1Complex">
- <soap:operation
- soapAction="http://www.bigbank.com/Account/getAccountReportBare1Complex"/>
- <wsdl:input>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="AccountService">
- <wsdl:port binding="tns:AccountServiceSOAP"
- name="AccountServiceSOAP">
- <soap:address location="http://localhost:8080/sample-account/services/AccountService"/>
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/interopdoc.wsdl b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/interopdoc.wsdl
deleted file mode 100644
index 820c26ca34..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/interopdoc.wsdl
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<definitions name="InteropTestDoc" targetNamespace="http://soapinterop.org/"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:tns="http://soapinterop.org/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
-
- <xsd:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/" xmlns:interop="http://soapinterop.org/">
-
- <xsd:element name="SingleTag">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="1" name="SingleTag" type="interop:SingleTag"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="SingleTag"/>
- <xsd:element name="SingleTagResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="1" name="SingleTag" type="interop:SingleTag"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="SimpleDocument">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:complexType name="SimpleDocument">
- <xsd:simpleContent>
- <xsd:extension base="xsd:string"/>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:element name="SimpleDocumentResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="1" name="SimpleDocument" type="interop:SimpleDocument"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="ComplexDocument">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:complexType name="ComplexDocument">
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="1" name="simpleDoc" type="interop:ArrayOfSimpleDocument"/>
- <xsd:element minOccurs="0" maxOccurs="1" name="child" type="interop:ChildDocument"/>
- </xsd:sequence>
- <xsd:attribute name="AnAttribute" type="xsd:string"/>
- </xsd:complexType>
- <xsd:complexType name="ArrayOfSimpleDocument">
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="SimpleDocument" nillable="true" type="interop:SimpleDocument"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="ChildDocument">
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="1" name="childSimpleDoc" type="interop:ArrayOfSimpleDocument"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="ComplexDocumentResponse">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="1" name="ComplexDocument" type="interop:ComplexDocument"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- </xsd:schema>
-
- </types>
-
- <message name="SingleTagSoapIn">
- <part name="parameters" element="tns:SingleTag"/>
- </message>
- <message name="SingleTagSoapOut">
- <part name="outputDoc" element="tns:SingleTagResponse"/>
- </message>
- <message name="SimpleDocumentSoapIn">
- <part name="parameters" element="tns:SimpleDocument"/>
- </message>
- <message name="SimpleDocumentSoapOut">
- <part name="outputDoc" element="tns:SimpleDocumentResponse"/>
- </message>
- <message name="ComplexDocumentSoapIn">
- <part name="parameters" element="tns:ComplexDocument"/>
- </message>
- <message name="ComplexDocumentSoapOut">
- <part name="outputDoc" element="tns:ComplexDocumentResponse"/>
- </message>
-
- <portType name="DocTestPortType">
-
- <operation name="SingleTag">
- <input message="tns:SingleTagSoapIn"/>
- <output message="tns:SingleTagSoapOut"/>
- </operation>
- <operation name="SimpleDocument">
- <input message="tns:SimpleDocumentSoapIn"/>
- <output message="tns:SimpleDocumentSoapOut"/>
- </operation>
- <operation name="ComplexDocument">
- <input message="tns:ComplexDocumentSoapIn"/>
- <output message="tns:ComplexDocumentSoapOut"/>
- </operation>
-
- </portType>
-
- <binding name="doc_test_binding" type="tns:DocTestPortType">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-
- <operation name="SingleTag">
- <soap:operation soapAction="http://soapinterop.org/SingleTag"/>
- <input>
- <soap:body use="literal"/>
- </input>
- <output>
- <soap:body use="literal"/>
- </output>
- </operation>
-
- <operation name="SimpleDocument">
- <soap:operation soapAction="http://soapinterop.org/SimpleDocument"/>
- <input>
- <soap:body use="literal"/>
- </input>
- <output>
- <soap:body use="literal"/>
- </output>
- </operation>
-
- <operation name="ComplexDocument">
- <soap:operation soapAction="http://soapinterop.org/ComplexDocument"/>
- <input>
- <soap:body use="literal"/>
- </input>
- <output>
- <soap:body use="literal"/>
- </output>
- </operation>
- </binding>
-
- <service name="interopDocSvc">
-
- <port name="interopDocPort" binding="tns:doc_test_binding">
- <soap:address location="http://www.whitemesa.net/interopdoc"/>
- </port>
-
- </service>
-
-</definitions>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/HelloWorld.componentType b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/HelloWorld.componentType
deleted file mode 100644
index bd1e9445c1..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/HelloWorld.componentType
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
- <service name="HelloWorldService">
- <interface.java interface="helloworld.HelloWorldService"/>
- </service>
-</componentType>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/HelloWorld.js b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/HelloWorld.js
deleted file mode 100644
index 520153329e..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/HelloWorld.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-function sayHello(s) {
- return "Hello " + s;
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/IntrospectableHelloWorld.js b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/IntrospectableHelloWorld.js
deleted file mode 100644
index 2f6b7e0675..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/IntrospectableHelloWorld.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-SCA = {
- 'javaInterface' : 'helloworld.HelloWorldService'
-}
-
-function sayHello(s) {
- return "Hello " + s;
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js
deleted file mode 100644
index 4684b89e66..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/compositeScope.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-SCA = {
- scope : 'composite',
- javaInterface : 'helloworld.HelloWorldService'
-}
-
-x = 0;
-
-function sayHello(s) {
- x = x + 1;
- return x;
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/e4x.componentType b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/e4x.componentType
deleted file mode 100644
index 8f2d906f58..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/e4x.componentType
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
- <service name="HelloWorldService">
-<!-- <interface.wsdl interface="http://integration.rhino.container.tuscany.apache.org#HelloWorld"/> -->
- <interface.java interface="helloworld.HelloWorldService"/>
- </service>
-
- <reference name="extHelloWorldService">
- <interface.java interface="helloworld.HelloWorldService"/>
- </reference>
-
-
-</componentType>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/e4x.js b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/e4x.js
deleted file mode 100644
index 3e9c00fcb9..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/e4x.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-function sayE4XHello(xmlIn) {
-
- var greeting = "e4xHello " + xmlIn..*::name;
- var xmlOut = getXmlObject("http://helloworld","getGreetingsResponse");
-
- var ns = new Namespace("http://helloworld");
- xmlOut.ns::getGreetingsReturn = greeting;
-
- return xmlOut;
-}
-
-
-
- function sayHello(name) {
- //create XML Request Object
- var xmlIn = getXmlObject("http://helloworld","getGreetings");
- var ns = new Namespace("http://helloworld");
- xmlIn.ns::name = name + " thro e4x reference";
-
- //invoke service thro service reference and obtain XML Response
- var xmlOut = extHelloWorldService.sayE4XHello(xmlIn);
-
- //extract the content of response XML and return as string
- var greeting = "" + xmlOut..*::getGreetingsReturn;
- return greeting;
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/helloworld.scdl b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/helloworld.scdl
deleted file mode 100644
index c3c4f5c669..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/helloworld.scdl
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:js="http://incubator.apache.org/tuscany/xmlns/container/js/1.0-incubator-M2"
-
- name="HelloWorldComposite">
-
- <component name="HelloWorldComponent">
- <js:implementation.js script="org/apache/tuscany/container/javascript/function/HelloWorld.js"/>
- </component>
-
- <component name="IntrospectableHelloWorldComponent">
- <js:implementation.js script="org/apache/tuscany/container/javascript/function/IntrospectableHelloWorld.js"/>
- </component>
-
- <component name="HelloWorldComponentE4X">
- <js:implementation.js script="org/apache/tuscany/container/javascript/function/e4x.js"/>
- <reference name="extHelloWorldService" target="HelloWorldJavaReference">HelloWorldJavaReference</reference>
- </component>
-
- <component name="HelloWorldJavaReference">
- <implementation.java class="helloworld.HelloWorldServiceImpl"/>
- </component>
-
- <component name="HelloWorldProperty">
- <js:implementation.js script="org/apache/tuscany/container/javascript/function/propertyTest.js"/>
- <property name="GREETING">Kia ora</property>
- </component>
-
- <component name="HelloWorldPropertyDefault">
- <js:implementation.js script="org/apache/tuscany/container/javascript/function/propertyTest.js"/>
- </component>
-</composite>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/propertyTest.componentType b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/propertyTest.componentType
deleted file mode 100644
index 8e46971ea3..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/propertyTest.componentType
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
- <service name="HelloWorldService">
- <interface.java interface="helloworld.HelloWorldService"/>
- </service>
-
- <property name="GREETING" type="xsd:string">Hi</property>
-
-</componentType>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/propertyTest.js b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/propertyTest.js
deleted file mode 100644
index 96e21d0c75..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/propertyTest.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-function sayHello(s) {
- return GREETING + ' ' + s;
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/requestScope.js b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/requestScope.js
deleted file mode 100644
index bf8f840b91..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/requestScope.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-SCA = {
- scope : 'request',
- javaInterface : 'helloworld.HelloWorldService'
-}
-
-x = 0;
-
-function sayHello(s) {
- x = x + 1;
- return x;
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/scopeTest.scdl b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/scopeTest.scdl
deleted file mode 100644
index 3754d69da1..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/scopeTest.scdl
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:js="http://incubator.apache.org/tuscany/xmlns/container/js/1.0-incubator-M2"
-
- name="HelloWorldComposite">
-
- <component name="StatelessComponent">
- <js:implementation.js script="org/apache/tuscany/container/javascript/function/statelessScope.js"/>
- </component>
-
- <!-- component name="RequestComponent">
- <js:implementation.js script="org/apache/tuscany/container/javascript/function/requestScope.js"/>
- </component -->
-
- <!-- component name="CompositeScopeComponent">
- <js:implementation.js script="org/apache/tuscany/container/javascript/function/compositeScope.js"/>
- </component -->
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/statelessScope.js b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/statelessScope.js
deleted file mode 100644
index 21f5104859..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/function/statelessScope.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-SCA = {
- scope : 'stateless',
- javaInterface : 'helloworld.HelloWorldService'
-}
-
-x = 0;
-
-function sayHello(s) {
- x = x + 1;
- return x;
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/mock/test.js b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/mock/test.js
deleted file mode 100644
index ef2694b475..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/mock/test.js
+++ /dev/null
@@ -1 +0,0 @@
-//Test Script \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/rhino/helloworld.wsdl b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/rhino/helloworld.wsdl
deleted file mode 100644
index 67067f044a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/org/apache/tuscany/container/javascript/rhino/helloworld.wsdl
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<wsdl:definitions targetNamespace="http://helloworld" xmlns:tns="http://helloworld" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- name="helloworld">
-
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="http://helloworld" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema">
-
- <element name="getGreetings">
- <complexType>
- <sequence>
- <element name="name" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="getGreetingsResponse">
- <complexType>
- <sequence>
- <element name="getGreetingsReturn" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
- </schema>
- </wsdl:types>
-
- <wsdl:message name="getGreetingsRequest">
- <wsdl:part element="tns:getGreetings" name="parameters"/>
- </wsdl:message>
-
- <wsdl:message name="getGreetingsResponse">
- <wsdl:part element="tns:getGreetingsResponse" name="parameters"/>
- </wsdl:message>
-
- <wsdl:portType name="HelloWorld">
- <wsdl:operation name="getGreetings">
- <wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest"/>
- <wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse"/>
- </wsdl:operation>
- </wsdl:portType>
-
- <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld">
- <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="getGreetings">
- <wsdlsoap:operation soapAction=""/>
- <wsdl:input name="getGreetingsRequest">
- <wsdlsoap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="getGreetingsResponse">
- <wsdlsoap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
-
- <wsdl:service name="HelloWorldService">
- <wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldSoapPort">
- <wsdlsoap:address location="http://localhost:8080/sample-helloworldws/services/HelloWorldWebService"/>
- </wsdl:port>
- </wsdl:service>
-
-</wsdl:definitions>
diff --git a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/sequences.xsd b/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/sequences.xsd
deleted file mode 100644
index a565f3fa65..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.javascript/src/test/resources/sequences.xsd
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<xsd:schema xmlns:seq="http://www.example.com/sequences"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.example.com/sequences">
-
- <xsd:element name="mixedStockQuote" type="seq:MixedQuote" />
- <xsd:element name="rc" type="seq:RepeatingChoice" />
- <xsd:element name="mrc" type="seq:MixedRepeatingChoice" />
- <xsd:element name="rc2" type="seq:TwoRCs" />
- <xsd:element name="mrc2" type="seq:TwoRCsMixed" />
-
-
-
- <xsd:complexType mixed="true" name="MixedQuote">
- <xsd:sequence>
- <xsd:element name="symbol" type="xsd:string" />
- <xsd:element name="companyName" type="xsd:string" />
- <xsd:element name="price" type="xsd:decimal" />
- <xsd:element name="open1" type="xsd:decimal" />
- <xsd:element name="high" type="xsd:decimal" />
- <xsd:element name="low" type="xsd:decimal" />
- <xsd:element name="volume" type="xsd:double" />
- <xsd:element name="change1" type="xsd:double" />
- <xsd:element maxOccurs="unbounded" minOccurs="0"
- name="quotes" type="seq:MixedQuote" />
- </xsd:sequence>
- </xsd:complexType>
-
-
- <xsd:complexType name="RepeatingChoice">
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element name="a" type="xsd:string" />
- <xsd:element name="b" type="xsd:int" />
- </xsd:choice>
- </xsd:complexType>
-
-
- <xsd:complexType mixed="true" name="MixedRepeatingChoice">
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element name="a" type="xsd:string" />
- <xsd:element name="b" type="xsd:int" />
- </xsd:choice>
- </xsd:complexType>
-
-
- <xsd:complexType name="TwoRCs">
- <xsd:sequence>
-
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element name="a" type="xsd:string" />
- <xsd:element name="b" type="xsd:int" />
- </xsd:choice>
-
- <xsd:element name="split" type="xsd:string" />
-
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element name="y" type="xsd:string" />
- <xsd:element name="z" type="xsd:int" />
- </xsd:choice>
-
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType mixed="true" name="TwoRCsMixed">
- <xsd:sequence>
-
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element name="a" type="xsd:string" />
- <xsd:element name="b" type="xsd:int" />
- </xsd:choice>
-
- <xsd:element name="split" type="xsd:string" />
-
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element name="y" type="xsd:string" />
- <xsd:element name="z" type="xsd:int" />
- </xsd:choice>
-
- </xsd:sequence>
- </xsd:complexType>
-
-</xsd:schema>
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/LICENSE.txt b/branches/sca-java-M2/sca/services/containers/container.ruby/LICENSE.txt
deleted file mode 100644
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/NOTICE.txt b/branches/sca-java-M2/sca/services/containers/container.ruby/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/pom.xml b/branches/sca-java-M2/sca/services/containers/container.ruby/pom.xml
deleted file mode 100644
index a46f757503..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <parent>
- <groupId>org.apache.tuscany.sca.services.containers</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>ruby</artifactId>
- <name>Apache Tuscany Ruby Container</name>
- <description>Apache Tuscany Ruby Container</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jruby</groupId>
- <artifactId>jruby</artifactId>
- <version>0.9.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>wsdl</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- <version>2.1_3</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-impl</artifactId>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponent.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponent.java
deleted file mode 100644
index 7a244b828c..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponent.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubyScript;
-import org.apache.tuscany.container.ruby.rubyscript.RubyScriptInstance;
-import org.apache.tuscany.spi.ObjectCreationException;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.extension.AtomicComponentExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-
-/**
- * The Ruby component implementation.
- */
-public class RubyComponent extends AtomicComponentExtension {
-
- private final List<Class<?>> services;
-
- private final Map<String, Object> properties;
-
- private RubyScript rubyScript;
-
- private String rubyClassName;
-
- public RubyComponent(String name,
- RubyScript rubyScript,
- String rubyClassName,
- List<Class<?>> services,
- Map<String, Object> propValues,
- CompositeComponent parent,
- ScopeContainer scopeContainer,
- WireService wireService,
- WorkContext workContext) {
- super(name, parent, scopeContainer, wireService, workContext, null, 0);
-
- this.rubyScript = rubyScript;
- this.rubyClassName = rubyClassName;
- this.services = services;
- this.scope = scopeContainer.getScope();
- //this.properties = new HashMap<String, Object>();
- this.properties = propValues;
- }
-
- public Object createInstance() throws ObjectCreationException {
-
- Map<String, Object> context = new HashMap<String, Object>(getProperties());
-
- for (List<OutboundWire> referenceWires : getOutboundWires().values()) {
- for (OutboundWire wire : referenceWires) {
- Object wireProxy = wireService.createProxy(wire);
- //since all types that may be used in the reference interface may not be known to Rhino
- //using the wireProxy as is will fail result in type conversion exceptions in cases where
- //Rhino does not know enough of the tpypes used. Hence introduce a interceptor proxy,
- //with weak typing (java.lang.Object) so that Rhino's call to the proxy succeeds. Then
- //within this interceptor proxy perform data mediations required to correctly call the
- //referenced service.
- Class<?> businessInterface = wire.getServiceContract().getInterfaceClass();
- RubyReferenceProxy interceptingProxy = new RubyReferenceProxy(businessInterface,
- wireProxy,
- rubyScript.getRubyEngine());
- context.put(wire.getReferenceName(), interceptingProxy.createProxy());
- }
- }
-
- Object instance = rubyScript.createScriptInstance(context, rubyClassName);
-
- return instance;
- }
-
- public TargetInvoker createTargetInvoker(String targetName, Operation operation) {
- /*Method[] methods = operation.getServiceContract().getInterfaceClass().getMethods();
- Method method = findMethod(operation,
- methods);*/
- return new RubyInvoker(operation.getName(), this, operation.getOutputType().getPhysical().getClass());
- }
-
- // TODO: move all the following up to AtomicComponentExtension?
-
- public List<Class<?>> getServiceInterfaces() {
- return services;
- }
-
- public Map<String, Object> getProperties() {
- return properties;
- }
-
- public RubyScriptInstance getTargetInstance() throws TargetException {
- return (RubyScriptInstance) scopeContainer.getInstance(this);
- }
-
- public Object getServiceInstance() throws TargetException {
- return getServiceInstance(null);
- }
-
- @SuppressWarnings("unchecked")
- public Object getServiceInstance(String service) throws TargetException {
- InboundWire wire = getInboundWire(service);
- if (wire == null) {
- TargetException e = new TargetException("ServiceDefinition not found"); // TODO better error message
- e.setIdentifier(service);
- throw e;
- }
- return wireService.createProxy(wire);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java
deleted file mode 100644
index bdbbd1871c..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubyScript;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.model.PropertyValue;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-/**
- * Extension point for creating {@link RubyComponent}s from an assembly configuration
- */
-public class RubyComponentBuilder extends ComponentBuilderExtension<RubyImplementation> {
-
- protected Class<RubyImplementation> getImplementationType() {
- return RubyImplementation.class;
- }
-
- @SuppressWarnings("unchecked")
- public Component build(CompositeComponent parent,
- ComponentDefinition<RubyImplementation> componentDefinition,
- DeploymentContext deploymentContext) throws BuilderConfigException {
-
- String name = componentDefinition.getName();
- RubyImplementation implementation = componentDefinition.getImplementation();
- RubyComponentType componentType = implementation.getComponentType();
-
- // get list of services provided by this component
- Collection<ServiceDefinition> collection = componentType.getServices().values();
- List<Class<?>> services = new ArrayList<Class<?>>(collection.size());
- for (ServiceDefinition serviceDefinition : collection) {
- services.add(serviceDefinition.getServiceContract().getInterfaceClass());
- }
-
- Map<String, Object> propertyValues = new Hashtable<String, Object>();
- Collection<PropertyValue<?>> propValueSettings = componentDefinition.getPropertyValues().values();
- for (PropertyValue propertyValue : propValueSettings) {
- propertyValues.put(propertyValue.getName(),
- propertyValue.getValueFactory().getInstance());
- }
-
- RubyScript rubyScript = implementation.getRubyScript();
-
- // TODO: have ComponentBuilderExtension pass ScopeContainer in on build method?
- ScopeContainer scopeContainer;
- Scope scope = componentType.getLifecycleScope();
- if (Scope.MODULE == scope) {
- scopeContainer = deploymentContext.getModuleScope();
- } else {
- scopeContainer = scopeRegistry.getScopeContainer(scope);
- }
-
- return new RubyComponent(name,
- rubyScript,
- implementation.getRubyClassName(),
- services,
- propertyValues,
- parent,
- scopeContainer,
- wireService,
- workContext);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentType.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentType.java
deleted file mode 100644
index 1b98cf86d6..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentType.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-public class RubyComponentType extends
- ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> {
-
- private Scope lifecycleScope = Scope.MODULE;
-
- public RubyComponentType() {
- }
-
- @SuppressWarnings("unchecked")
- public RubyComponentType(ComponentType ct) {
- // TODO: A bit hacky but this is so the non-Ruby .componentType side file can be used for now
- setInitLevel(ct.getInitLevel());
- for (Object property : ct.getProperties().values()) {
- add((Property) property);
- }
- for (Object reference : ct.getReferences().values()) {
- add((ReferenceDefinition) reference);
- }
- for (Object service : ct.getServices().values()) {
- add((ServiceDefinition) service);
- }
- }
-
- public Scope getLifecycleScope() {
- return lifecycleScope;
- }
-
- public void setLifecycleScope(Scope lifecycleScope) {
- this.lifecycleScope = lifecycleScope;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentTypeLoader.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentTypeLoader.java
deleted file mode 100644
index 6fc5f87c68..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentTypeLoader.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import java.net.URL;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubySCAConfig;
-import org.apache.tuscany.container.ruby.rubyscript.RubyScript;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentTypeLoaderExtension;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.idl.java.JavaInterfaceProcessorRegistry;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.apache.tuscany.spi.model.ComponentType;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RubyComponentTypeLoader extends ComponentTypeLoaderExtension<RubyImplementation> {
-
- private JavaInterfaceProcessorRegistry processorRegistry;
-
- public RubyComponentTypeLoader(@Autowire
- JavaInterfaceProcessorRegistry processorRegistry) {
- this.processorRegistry = processorRegistry;
- }
-
- @Override
- protected Class<RubyImplementation> getImplementationClass() {
- return RubyImplementation.class;
- }
-
- protected RubyComponentType loadByIntrospection(CompositeComponent parent,
- RubyImplementation implementation,
- DeploymentContext deploymentContext) throws
- MissingResourceException,
- InvalidServiceContractException {
-
- RubyScript rubyScript = implementation.getRubyScript();
- RubySCAConfig scaConfig = rubyScript.getSCAConfig();
- if (!scaConfig.hasSCAConfig()) {
- throw new IllegalArgumentException(
- "must use either .componentType side file or Ruby Global variable $SCA definition");
- }
-
- // FIXME this should be a system service, not instantiated here
- RubyComponentType componentType = new RubyIntrospector(null, processorRegistry)
- .introspectScript(scaConfig, rubyScript.getClassLoader());
-
- return componentType;
- }
-
- protected String getResourceName(RubyImplementation implementation) {
- return implementation.getRubyScript().getScriptName();
- }
-
- // TODO: must be possible to move all the following up in to ComponentTypeLoaderExtension
-
- public void load(CompositeComponent parent,
- RubyImplementation implementation,
- DeploymentContext deploymentContext) throws LoaderException {
-
- URL resource = implementation.getRubyScript().getClassLoader().getResource(getSideFileName(implementation));
- RubyComponentType componentType;
- if (resource == null) {
- try {
- componentType = loadByIntrospection(parent, implementation, deploymentContext);
- } catch (InvalidServiceContractException e) {
- throw new LoaderException("Invalid service contract", e);
- }
- } else {
- componentType = loadFromSidefile(resource, deploymentContext);
- }
-
- implementation.setComponentType(componentType);
-
-
- }
-
- protected RubyComponentType loadFromSidefile(URL url, DeploymentContext deploymentContext) throws LoaderException {
- ComponentType ct = loaderRegistry.load(null,
- url,
- ComponentType.class,
- deploymentContext);
- RubyComponentType jsct = new RubyComponentType(ct);
- return jsct;
- }
-
- private String getSideFileName(RubyImplementation implementation) {
- String baseName = getResourceName(implementation);
- int lastDot = baseName.lastIndexOf('.');
- if (lastDot != -1) {
- baseName = baseName.substring(0,
- lastDot);
- }
- return baseName + ".componentType";
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyImplementation.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyImplementation.java
deleted file mode 100644
index 6f07399d0a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyImplementation.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubyScript;
-import org.apache.tuscany.spi.model.AtomicImplementation;
-
-/**
- * Model object for a JavaScript implementation.
- */
-public class RubyImplementation extends AtomicImplementation<RubyComponentType> {
-
- private RubyScript rubyScript;
-
- private String rubyClassName;
-
- public String getRubyClassName() {
- return rubyClassName;
- }
-
- public void setRubyClassName(String rubyClassName) {
- this.rubyClassName = rubyClassName;
- }
-
- public RubyScript getRubyScript() {
- return rubyScript;
- }
-
- public void setRubyScript(RubyScript rubyScript) {
- this.rubyScript = rubyScript;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyImplementationLoader.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyImplementationLoader.java
deleted file mode 100644
index 322e3d84e8..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyImplementationLoader.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.URL;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubyScript;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.osoa.sca.annotations.Constructor;
-
-/**
- * Loader for handling JavaScript <js:implementation.js> elements.
- */
-public class RubyImplementationLoader extends LoaderExtension<RubyImplementation> {
- private static final QName IMPLEMENTATION_RUBY = new QName(
- "http://incubator.apache.org/tuscany/xmlns/container/rb/1.0-incubator-M2", "implementation.rb");
-
- @Constructor({"registry"})
- public RubyImplementationLoader(@Autowire
- LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return IMPLEMENTATION_RUBY;
- }
-
- public RubyImplementation load(CompositeComponent parent,
- XMLStreamReader reader,
- DeploymentContext deploymentContext) throws XMLStreamException,
- LoaderException {
-
- String script = reader.getAttributeValue(null,
- "script");
- String rubyClassName = reader.getAttributeValue(null,"class");
-
- if ( script == null ) {
- throw new MissingResourceException("No script supplied");
- }
-
- ClassLoader cl = deploymentContext.getClassLoader();
- String source = loadSource(cl,
- script);
-
- LoaderUtil.skipToEndElement(reader);
-
- RubyImplementation implementation = new RubyImplementation();
- RubyScript rubyScript = new RubyScript(script, source, null, cl);
- implementation.setRubyScript(rubyScript);
- implementation.setRubyClassName(rubyClassName);
- registry.loadComponentType(parent,
- implementation,
- deploymentContext);
- return implementation;
- }
-
- protected String loadSource(ClassLoader cl, String resource) throws LoaderException {
- URL url = cl.getResource(resource);
- if (url == null) {
- throw new MissingResourceException(resource);
- }
- InputStream is;
- try {
- is = url.openStream();
- } catch (IOException e) {
- MissingResourceException mre = new MissingResourceException(resource, e);
- mre.setIdentifier(resource);
- throw mre;
- }
- try {
- Reader reader = new InputStreamReader(is, "UTF-8");
- char[] buffer = new char[1024];
- StringBuilder source = new StringBuilder();
- int count;
- while ((count = reader.read(buffer)) > 0) {
- source.append(buffer,
- 0,
- count);
- }
- return source.toString();
- } catch (IOException e) {
- LoaderException le = new LoaderException(e);
- le.setIdentifier(resource);
- throw le;
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyIntrospector.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyIntrospector.java
deleted file mode 100644
index d5ef41d835..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyIntrospector.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.wsdl.Definition;
-import javax.wsdl.PortType;
-import javax.wsdl.WSDLException;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubySCAConfig;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
-import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.idl.java.JavaInterfaceProcessorRegistry;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-/**
- * Introspects JavaScript files for SCA configuration
- */
-public class RubyIntrospector {
-
- private WSDLDefinitionRegistry wsdlRegistry;
- private JavaInterfaceProcessorRegistry processorRegistry;
-
- public RubyIntrospector(@Autowire WSDLDefinitionRegistry wsdlRegistry,
- @Autowire JavaInterfaceProcessorRegistry processorRegistry) {
- this.wsdlRegistry = wsdlRegistry;
- this.processorRegistry = processorRegistry;
- }
-
- public RubyComponentType introspectScript(RubySCAConfig scaConfig, ClassLoader cl)
- throws MissingResourceException, InvalidServiceContractException {
- RubyComponentType componentType = new RubyComponentType();
- introspectJavaInterface(componentType, cl, scaConfig.getJavaInterface());
- introspectWSDLInterface(componentType, cl, scaConfig.getWSDLNamespace(), scaConfig.getWSDLPortType(),
- scaConfig.getWSDLLocation());
- introspectReferences(componentType, cl, scaConfig.getReferences());
- introspectProperties(componentType, cl, scaConfig.getProperties());
- introspectScope(componentType, scaConfig.getScope());
- return componentType;
- }
-
- private void introspectScope(RubyComponentType componentType, Scope scope) {
- if (scope != null) {
- componentType.setLifecycleScope(scope);
- }
- }
-
- @SuppressWarnings("unchecked")
- private void introspectJavaInterface(ComponentType componentType, ClassLoader cl, String serviceClass)
- throws MissingResourceException, InvalidServiceContractException {
- if (serviceClass != null) {
- ServiceDefinition service = new ServiceDefinition();
- try {
- ServiceContract<?> sc = processorRegistry.introspect(Class.forName(serviceClass));
- service.setServiceContract(sc);
- componentType.add(service);
- } catch (ClassNotFoundException e) {
- throw new MissingResourceException("Interface not found", e);
- }
- }
- }
-
- @SuppressWarnings("unchecked")
- private void introspectWSDLInterface(ComponentType componentType, ClassLoader cl, String wsdlNamespace,
- String wsdlPortType, String wsdlLocation) {
- if (wsdlNamespace == null && wsdlPortType == null && wsdlLocation == null) {
- return;
- }
-
- PortType portType = null;
- if (wsdlLocation != null) {
- portType = readWSDLPortType(wsdlNamespace, wsdlPortType, wsdlLocation, portType);
- } else {
- portType = getPortType(wsdlNamespace, wsdlPortType);
- }
-
- ServiceDefinition service = new ServiceDefinition();
- WSDLServiceContract wsdlSC = new WSDLServiceContract();
- wsdlSC.setPortType(portType);
- service.setServiceContract(wsdlSC);
- componentType.add(service);
- }
-
- private PortType readWSDLPortType(String wsdlNamespace, String wsdlPortType, String wsdlLocation,
- PortType portType) {
- Definition wsdlDefinition;
- try {
- WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- wsdlDefinition = reader.readWSDL(wsdlLocation.toString());
- } catch (WSDLException e) {
- throw new RuntimeException(e);
-
- }
- Map portTypes = wsdlDefinition.getPortTypes();
- for (Iterator i = portTypes.keySet().iterator(); i.hasNext();) {
- QName portTypeQN = (QName) i.next();
- if (wsdlNamespace != null) {
- if (!portTypeQN.getNamespaceURI().equals(wsdlNamespace)) {
- continue;
- }
- }
- if (wsdlPortType != null) {
- if (!portTypeQN.getLocalPart().equals(wsdlPortType)) {
- continue;
- }
- }
- if (portType != null) {
- throw new RuntimeException("multiple matching portTypes in wsdl: " + wsdlLocation);
- }
- portType = (PortType) portTypes.get(portTypeQN);
- }
- if (portType == null) {
- throw new RuntimeException("portType not found in wsdl: " + wsdlLocation);
- }
- return portType;
- }
-
- private PortType getPortType(String wsdlNamespace, String wsdlPortType) {
- if (wsdlPortType == null) {
- throw new IllegalArgumentException("must specify the wsdlPortType in script SCA config");
- }
- PortType portType = null;
- if (wsdlNamespace != null) {
- QName portTypeQN = new QName(wsdlNamespace.toString(), wsdlPortType.toString());
- portType = wsdlRegistry.getPortType(portTypeQN);
- if (portType == null) {
- throw new IllegalArgumentException("no WSDL registered for portType: " + portTypeQN);
- }
- } else {
- // wsdlRegistry.getPortType(wsdlPortType.toString());
- if (portType == null) {
- throw new IllegalArgumentException("no WSDL registered for portType:" + wsdlPortType);
- }
- }
- return portType;
- }
-
-
- private void introspectProperties(ComponentType componentType, ClassLoader cl, Map properties) {
- }
-
- private void introspectReferences(ComponentType componentType, ClassLoader cl, Map references) {
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyInvoker.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyInvoker.java
deleted file mode 100644
index a40f04612e..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyInvoker.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubyScriptInstance;
-import org.apache.tuscany.spi.extension.TargetInvokerExtension;
-
-/**
- * Dispatches to a JavaScript implementation instance
- *
- * @version $$Rev$$ $$Date$$
- */
-public class RubyInvoker extends TargetInvokerExtension {
-
- private RubyComponent context;
-
- private String functionName;
-
- private Class returnType;
-
- public RubyInvoker(String functionName, RubyComponent context, Class returnType) {
- this.functionName = functionName;
- this.context = context;
- this.returnType = returnType;
- }
-
- /**
- * Invokes a function on a script instance
- */
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
- RubyScriptInstance target = context.getTargetInstance();
- return target.invokeFunction(functionName,
- (Object[]) payload,
- returnType);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyRefInvocInterceptor.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyRefInvocInterceptor.java
deleted file mode 100644
index bf62d1fcab..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyRefInvocInterceptor.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-
-import org.jruby.IRuby;
-import org.jruby.RubyObject;
-import org.jruby.javasupport.JavaUtil;
-
-/**
- * This Interceptor encasulates the data mediation required by the JavaScriptReferenceProxy. The
- * invocation handler of this class traps the javascript reference calls, performs data mediation
- * and calls then calls the actual referred service. This classes implementation is subject to
- * review and change when the DataMediation infrastructure of Tuscany is ready.
- *
- */
-public class RubyRefInvocInterceptor implements InvocationHandler {
- private Object actualProxy;
-
- private Class wireInterface;
-
- private IRuby rubyEngine;
-
- RubyRefInvocInterceptor(Object wireProxy, Class wireIfc, IRuby rubyEng) {
- this.actualProxy = wireProxy;
- this.wireInterface = wireIfc;
- this.rubyEngine = rubyEng;
- }
-
- public Object invoke(Object arg0, Method method, Object[] args) throws Throwable {
- if ( method.getName().equals("hashCode"))
- return new Integer(1);
-
- Method invokedMethod = getInvokedMethod(method.getName());
- Object[] tranformedArgs = new Object[args.length];
- for (int count = 0; count < args.length; ++count) {
- tranformedArgs[count] = fromRubyToJava(invokedMethod.getParameterTypes()[count], args[count]);
- }
-
- Object response = invokedMethod.invoke(actualProxy, tranformedArgs);
- response = fromJavaToRuby(response);
- return response;
- }
-
- private Method getInvokedMethod(String methodName) {
- Method[] methods = wireInterface.getMethods();
-
- for (int count = 0; count < methods.length; ++count) {
- if (methods[count].getName().equals(methodName)) {
- return methods[count];
- }
- }
- throw new RuntimeException("Unable to find invocation method");
- }
-
- protected Object fromRubyToJava(Class reqArgType, Object rubyArg) throws Exception {
- Object javaArg = null;
-
- //for known cases the JRuby runtime handles the conversion before calling the Java objects
- //so nothing to do. When it cannot convert it simply passed the instance of RubyObject
- if ( rubyArg instanceof RubyObject ) {
- //need to deal with this
- } else {
- javaArg = rubyArg;
- }
-
- return javaArg;
- }
-
- protected Object fromJavaToRuby(Object retVal) throws RuntimeException {
- Object rubyRetVal = JavaUtil.convertJavaToRuby(rubyEngine, retVal, retVal.getClass());
- return rubyRetVal;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyReferenceProxy.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyReferenceProxy.java
deleted file mode 100644
index 4d91194484..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyReferenceProxy.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-import org.jruby.IRuby;
-import org.jruby.RubyException;
-
-import net.sf.cglib.asm.ClassWriter;
-import net.sf.cglib.asm.CodeVisitor;
-import net.sf.cglib.asm.Constants;
-import net.sf.cglib.asm.Type;
-
-/**
- * This is a proxy that will mediate reference calls from the JavaScript. The mediation code here will be reviewed when the DataMediation
- * infrastructure is ready. This proxy assmes that there is no verloading of service methods on the reference interface i.e. there are no two service
- * methods that have the same method name or operation name.
- */
-public class RubyReferenceProxy {
-
- private Class interfaze;
-
- private Object wireProxy;
-
- private IRuby rubyEngine;
-
- public RubyReferenceProxy(Class interfaze, Object wireProxy, IRuby rubyEng) {
- this.interfaze = interfaze;
- this.wireProxy = wireProxy;
- this.rubyEngine = rubyEng;
- }
-
- public Object createProxy() {
- try {
- GenericProxyClassLoader classloader = new GenericProxyClassLoader();
- final byte[] byteCode = generateGenericInterface(interfaze);
-
- Class genericInterface = classloader.defineClass(byteCode);
- InvocationHandler proxyHandler = new RubyRefInvocInterceptor(wireProxy, interfaze, rubyEngine);
- // return genericInterface.cast(Proxy.newProxyInstance(classloader, new Class[]{genericInterface}, proxyHandler));
- return Proxy.newProxyInstance(classloader,
- new Class[]{genericInterface},
- proxyHandler);
- } catch (Exception e) {
- return null;
- }
- }
-
- private static byte[] generateGenericInterface(Class serviceInterface) {
- String interfazeName = serviceInterface.getCanonicalName();
- ClassWriter cw = new ClassWriter(false);
-
- cw.visit(Constants.V1_5,
- Constants.ACC_PUBLIC + Constants.ACC_ABSTRACT + Constants.ACC_INTERFACE,
- interfazeName.replace('.',
- '/'),
- "java/lang/Object",
- null,
- serviceInterface.getSimpleName() + ".java");
-
- StringBuffer argsAndReturn = new StringBuffer("(");
- Method[] methods = serviceInterface.getMethods();
- for (int count = 0; count < methods.length; ++count) {
- argsAndReturn = new StringBuffer("(");
- Class[] paramTypes = methods[count].getParameterTypes();
- Class returnType = methods[count].getReturnType();
-
- for (int paramCount = 0; paramCount < paramTypes.length; ++paramCount) {
- argsAndReturn.append(Type.getType(Object.class));
- }
- argsAndReturn.append(")");
- argsAndReturn.append(Type.getType(Object.class));
-
- Class[] exceptionTypes = methods[count].getExceptionTypes();
- String[] exceptions = new String[exceptionTypes.length];
- for (int excCount = 0; excCount < exceptionTypes.length; ++excCount) {
- exceptions[excCount] = exceptionTypes[excCount].getName();
- exceptions[excCount] = exceptions[excCount].replace('.',
- '/');
- }
-
- CodeVisitor cv = cw.visitMethod(Constants.ACC_PUBLIC + Constants.ACC_ABSTRACT,
- methods[count].getName(),
- argsAndReturn.toString(),
- exceptions,
- null);
- cw.visitEnd();
- }
-
- cw.visitEnd();
-
- return cw.toByteArray();
- }
-
- private class GenericProxyClassLoader extends ClassLoader {
- public Class defineClass(byte[] byteArray) {
- try {
- return defineClass(null,
- byteArray,
- 0,
- byteArray.length);
- } catch (Throwable e) {
- return null;
- }
- }
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubySCAConfig.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubySCAConfig.java
deleted file mode 100644
index 4d14d8a56a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubySCAConfig.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby.rubyscript;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tuscany.spi.model.Scope;
-import org.jruby.RubyHash;
-import org.jruby.RubyObject;
-import org.jruby.internal.runtime.GlobalVariables;
-import org.jruby.runtime.builtin.IRubyObject;
-
-/**
- * Represents the variable defining the SCA aspects of the script
- * <code>
- * SCA = {
- * javaInterface : "my.pkg.ClassName",
- * wsdlPortType : "wsdlPortTypeName",
- * wsdlNameSpace : "http://my.namespace.com",
- * wsdlLocation : "\wsdl\mywsdl.txt",
- * properties : { "foo" : ["java.lang.String", "defaultValue"],},
- * references : {},
- * scope : 'stateless'|'request'|'conversational'|'composite',
- * }
- * </code>
- * The config must define the service with either javaInterface or wsdl. When
- * using wsdl the three parameters are optional. If wsdlLocation is used that is the
- * WSDL document used, and the namespace and portType parameters are only required if
- * the WSDL definition defines multiple portTypes.
- */
-public class RubySCAConfig {
-
- private boolean hasSCAConfig;
-
- private String javaInterface;
-
- private String wsdlLocation;
-
- private String wsdlNamespace;
-
- private String wsdlPortType;
-
- private Map properties;
-
- private Map references;
-
- private Scope scope;
-
- public RubySCAConfig(GlobalVariables globalVariables) {
- IRubyObject rubyObject = globalVariables.get("$SCA");
- if (rubyObject != null && !rubyObject.isNil()) {
- hasSCAConfig = true;
- RubyHash scaVar = (RubyHash) rubyObject;
- Object o = scaVar.get("javaInterface");
- if ( o != null ) {
- this.javaInterface = o.toString();
- }
- o = scaVar.get("wsdlLocation");
- if (o != null ) {
- this.wsdlLocation = o.toString();
- }
- o = scaVar.get("wsdlPortType");
- if (o != null ) {
- this.wsdlPortType = o.toString();
- }
- o = scaVar.get("wsdlNamespace");
- if (o != null ) {
- this.wsdlNamespace = o.toString();
- }
- if (javaInterface != null) {
- if (wsdlLocation != null || wsdlPortType != null || wsdlNamespace != null) {
- throw new IllegalArgumentException("script SCA config defines both Java and WSDL service interface");
- }
- } else {
- if (wsdlLocation == null && wsdlPortType == null && wsdlNamespace == null) {
- throw new IllegalArgumentException("script SCA config must define either Java or WSDL service interface");
- }
- }
-
- this.properties = new HashMap();
- o = scaVar.get("properties");
- if (o != null ) {
- // TODO parse properties
- }
-
- this.references = new HashMap();
- o = scaVar.get("references");
- if (o != null ) {
- // TODO parse references
- }
-
- o = scaVar.get("scope");
- if (o != null ) {
- if ("stateless".equalsIgnoreCase(String.valueOf(o))) {
- this.scope = Scope.STATELESS;
- } else if ("request".equalsIgnoreCase(String.valueOf(o))) {
- this.scope = Scope.REQUEST;
- } else if ("conversational".equalsIgnoreCase(String.valueOf(o))) {
- this.scope = Scope.SESSION; // TODO: where's CONVERSATIONAL?
- } else if ("composite".equalsIgnoreCase(String.valueOf(o))) {
- this.scope = Scope.MODULE; // TODO: composite = MODULE for now?
- } else {
- throw new IllegalArgumentException("invalid scope value: " + o);
- }
- }
-
- }
- }
-
- public boolean hasSCAConfig() {
- return hasSCAConfig;
- }
-
- public String getJavaInterface() {
- return javaInterface;
- }
-
- public Map getProperties() {
- return properties;
- }
-
- public Map getReferences() {
- return references;
- }
-
- public String getWSDLLocation() {
- return wsdlLocation;
- }
-
- public String getWSDLNamespace() {
- return wsdlNamespace;
- }
-
- public String getWSDLPortType() {
- return wsdlPortType;
- }
-
- public Scope getScope() {
- return scope;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyScript.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyScript.java
deleted file mode 100644
index 87d995eabd..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyScript.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby.rubyscript;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
-import org.jruby.IRuby;
-import org.jruby.RubyString;
-import org.jruby.javasupport.JavaEmbedUtils;
-import org.jruby.javasupport.JavaUtil;
-import org.jruby.runtime.builtin.IRubyObject;
-
-/**
- * A RhinoScript represents a compiled JavaScript script
- */
-public class RubyScript {
- protected final String NEW = ".new";
- protected final String EQUAL = "=";
-
- protected String scriptName;
-
- protected String script;
-
- protected Map<String, Class> responseClasses;
-
- protected ClassLoader classLoader;
-
- private IRuby rubyEngine = JavaEmbedUtils.initialize(new Vector());
-
- /**
- * Create a new RubyScript.
- *
- * @param scriptName
- * the name of the script. Can be anything, only used in messages to identify the script
- * @param script
- * the complete script
- */
- public RubyScript(String scriptName, String script) {
- this(scriptName, script, (Map) null, null);
- }
-
- /**
- * Create a new RubyScript.
- *
- * @param scriptName
- * the name of the script. Can be anything, only used in messages to identify the script
- * @param script
- * the complete script
- * @param context
- * name-value pairs that are added in to the scope where the script is compiled. May be null. The value objects are made available to
- * the script by using a variable with the name.
- * @param classLoader
- * the ClassLoader to be used to locate any user Java classes used in the script
- */
- public RubyScript(String scriptName, String script, Map context, ClassLoader classLoader) {
- this.scriptName = scriptName;
- this.script = script;
- this.responseClasses = new HashMap<String, Class>();
- this.classLoader = classLoader;
- rubyEngine.loadScript((RubyString) JavaUtil.convertJavaToRuby(rubyEngine,
- "MyScript.rb",
- String.class),
- (RubyString) JavaUtil.convertJavaToRuby(rubyEngine,
- this.script,
- String.class),
- false);
- }
-
- /**
- * Create a new invokeable instance of the script
- *
- * @return a IRubyObject
- */
-public RubyScriptInstance createScriptInstance(Map<String, Object> context, String rubyClassName) {
- if ( rubyClassName == null ) {
- return new RubyScriptInstance(rubyEngine.evalScript(script), responseClasses);
- }
- else {
- IRubyObject rubyObject = rubyEngine.evalScript(rubyClassName + NEW);
-
- Iterator<String> keyIterator = context.keySet().iterator();
- String key = null;
- Object value = null;
- while ( keyIterator.hasNext()) {
- key = keyIterator.next();
- value = JavaUtil.convertJavaToRuby(rubyEngine,
- context.get(key),
- context.get(key).getClass());
-
- JavaEmbedUtils.invokeMethod(rubyEngine,
- rubyObject,
- key + EQUAL,
- new Object[]{value}, null);
- }
-
- return new RubyScriptInstance(rubyObject, responseClasses);
- }
- }
- public String getScript() {
- return script;
- }
-
- public String getScriptName() {
- return scriptName;
- }
-
- public Map<String, Class> getResponseClasses() {
- return responseClasses;
- }
-
- public ClassLoader getClassLoader() {
- return classLoader;
- }
-
- /**
- * Set the Java type of a response value. JavaScript is dynamically typed so Rhino cannot always work out what the intended Java type of a
- * response should be, for example should the statement "return 42" be a Java int, or Integer or Double etc. When Rhino can't determine the type
- * it will default to returning a String, using this method enables overriding the Rhino default to use a specific Java type.
- */
- public void setResponseClass(String functionName, Class responseClasses) {
- this.responseClasses.put(functionName,
- responseClasses);
- }
-
- public RubySCAConfig getSCAConfig() {
- return new RubySCAConfig(rubyEngine.getGlobalVariables());
- }
-
- public void setScript(String script) {
- this.script = script;
- }
-
- public IRuby getRubyEngine() {
- return rubyEngine;
- }
-
- public void setRubyEngine(IRuby rubyEngine) {
- this.rubyEngine = rubyEngine;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyScriptInstance.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyScriptInstance.java
deleted file mode 100644
index 2d93c57fc9..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyScriptInstance.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby.rubyscript;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jruby.javasupport.JavaEmbedUtils;
-import org.jruby.runtime.builtin.IRubyObject;
-
-/**
- * An invokeable instance of a JavaScript script.
- */
-public class RubyScriptInstance {
-
- private IRubyObject rubyInstance;
-
- private Map<String, Class> responseClasses;
-
- public RubyScriptInstance(IRubyObject rubyInstance, Map<String, Class> responseClasses) {
- this.rubyInstance = rubyInstance;
- this.responseClasses = responseClasses;
- if (this.responseClasses == null) {
- this.responseClasses = new HashMap<String, Class>();
- }
- }
-
- public Object invokeFunction(String functionName, Object[] args, Class returnType) {
- Object[] rubyArgs = RubyUtils.fromJavaToRuby(rubyInstance.getRuntime(), args);
-
- Object rubyResponse = JavaEmbedUtils.invokeMethod(rubyInstance.getRuntime(),
- rubyInstance,
- functionName,
- rubyArgs,
- returnType);
- Object response = RubyUtils.fromRubyToJava(rubyInstance.getRuntime(),
- returnType,
- rubyResponse);
- return response;
- }
-
-
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyUtils.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyUtils.java
deleted file mode 100644
index c19f233b94..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/rubyscript/RubyUtils.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby.rubyscript;
-
-import java.io.ByteArrayInputStream;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.util.StAXUtils;
-import org.jruby.IRuby;
-import org.jruby.RubyObject;
-import org.jruby.javasupport.JavaUtil;
-
-/**
- * @author administrator
- *
- */
-public class RubyUtils {
- public static Object fromRubyToJava(IRuby rubyEngine, Class reqArgType, Object rubyArg) {
- Object javaArg = null;
-
- //for known cases the JRuby runtime handles the conversion before calling the Java objects
- //so nothing to do. When it cannot convert it simply passed the instance of RubyObject
- if ( rubyArg instanceof RubyObject ) {
- //need to deal with this
- } else {
- javaArg = rubyArg;
- }
-
- return javaArg;
- }
-
- public static Object[] fromJavaToRuby(IRuby rubyEngine, Object[] arg) {
- Object[] jsArgs;
- if (arg == null) {
- jsArgs = new Object[0];
- } else {
- jsArgs = new Object[arg.length];
- for (int i = 0; i < jsArgs.length; i++) {
- jsArgs[i] = fromJavaToRuby(rubyEngine, arg[i]);
- }
- }
-
- return jsArgs;
- }
-
- public static Object fromJavaToRuby(IRuby rubyEngine, Object javaObj) {
- Object rubyObj = JavaUtil.convertJavaToRuby(rubyEngine, javaObj, javaObj.getClass());
- return rubyObj;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 7a329afb7a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- Ruby configuration for the launcher environment.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
-
- name="org.apache.tuscany.launcher.RubyImplementation">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.containers</group>
- <name>ruby</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <component name="ruby.implementationLoader">
- <system:implementation.system class="org.apache.tuscany.container.ruby.RubyImplementationLoader"/>
- </component>
-
- <component name="ruby.componentTypeLoader">
- <system:implementation.system class="org.apache.tuscany.container.ruby.RubyComponentTypeLoader"/>
- </component>
-
- <component name="ruby.componentBuilder">
- <system:implementation.system class="org.apache.tuscany.container.ruby.RubyComponentBuilder"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/resources/META-INF/sca/ruby.system.scdl b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/resources/META-INF/sca/ruby.system.scdl
deleted file mode 100644
index 686e1ea308..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/resources/META-INF/sca/ruby.system.scdl
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- Ruby configuration for the launcher environment.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
-
- name="org.apache.tuscany.launcher.RubyImplementation">
-
- <component name="ruby.implementationLoader">
- <system:implementation.system class="org.apache.tuscany.container.ruby.RubyImplementationLoader"/>
- </component>
-
- <component name="ruby.componentTypeLoader">
- <system:implementation.system class="org.apache.tuscany.container.ruby.RubyComponentTypeLoader"/>
- </component>
-
- <component name="ruby.componentBuilder">
- <system:implementation.system class="org.apache.tuscany.container.ruby.RubyComponentBuilder"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/helloworld/HelloWorldService.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/helloworld/HelloWorldService.java
deleted file mode 100644
index 7e99f6f720..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/helloworld/HelloWorldService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package helloworld;
-
-
-public interface HelloWorldService {
- String sayHello(String s);
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/helloworld/HelloWorldServiceImpl.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/helloworld/HelloWorldServiceImpl.java
deleted file mode 100644
index be804d3540..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/helloworld/HelloWorldServiceImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package helloworld;
-
-import org.osoa.sca.annotations.Property;
-
-
-public class HelloWorldServiceImpl implements HelloWorldService {
-
- @Property
- public String greeting = "Default hello";
-
- public String getGreeting() {
- return greeting;
- }
-
-
- public void setGreeting(String greeting) {
- this.greeting = greeting;
- }
-
- public String sayHello(String s) {
- //return greeting + s + " from the JavaWorld!";
- return greeting + " from Java Reference " + s ; //+ " from " + helloSayer.firstName + " " + helloSayer.lastName;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/RubyImplementationLoaderTestCase.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/RubyImplementationLoaderTestCase.java
deleted file mode 100644
index 289a187461..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/RubyImplementationLoaderTestCase.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-
-import junit.framework.TestCase;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.easymock.classextension.EasyMock.verify;
-
-/**
- * Tests for RubyImplementationLoader
- */
-public class RubyImplementationLoaderTestCase extends TestCase {
- private CompositeComponent parent;
-
- private XMLStreamReader reader;
-
- private DeploymentContext deploymentContext;
-
- private ClassLoader classLoader;
-
- private LoaderRegistry registry;
-
- private RubyImplementationLoader loader;
-
- public void testNoScriptAttribute() throws LoaderException, XMLStreamException {
- expect(reader.getAttributeValue(null, "script")).andReturn(null);
- expect(reader.getAttributeValue(null, "class")).andReturn(null);
- replay(reader);
- replay(deploymentContext);
-
- try {
- loader.load(parent, reader, deploymentContext);
- fail();
- } catch (MissingResourceException e) {
- // ok
- }
- verify(reader);
- verify(deploymentContext);
- }
-
- public void testNoScriptPresent() throws LoaderException, XMLStreamException {
- expect(reader.getAttributeValue(null, "script")).andReturn("foo.groovy");
- expect(reader.getAttributeValue(null, "class")).andReturn(null);
- expect(deploymentContext.getClassLoader()).andReturn(classLoader);
-
- replay(reader);
- replay(deploymentContext);
-
- RubyImplementationLoader mockLoader = new RubyImplementationLoader(registry) {
- protected String loadSource(ClassLoader cl, String resource) throws LoaderException {
- assertSame(classLoader, cl);
- assertEquals("foo.groovy", resource);
- throw new MissingResourceException(resource);
- }
- };
- try {
- mockLoader.load(parent, reader, deploymentContext);
- fail();
- } catch (MissingResourceException e) {
- assertEquals("foo.groovy", e.getMessage());
- }
- verify(reader);
- verify(deploymentContext);
- }
-
- public void testLoadScript() throws LoaderException {
- String script =
- loader.loadSource(getClass().getClassLoader(), "org/apache/tuscany/container/ruby/mock/test.rb");
- assertEquals("//Test Script", script);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- registry = createMock(LoaderRegistry.class);
- loader = new RubyImplementationLoader(registry);
-
- parent = createMock(CompositeComponent.class);
- reader = createMock(XMLStreamReader.class);
- deploymentContext = createMock(DeploymentContext.class);
- classLoader = createMock(ClassLoader.class);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/RubyScriptIntrospectorTestCase.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/RubyScriptIntrospectorTestCase.java
deleted file mode 100644
index 4f4869355d..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/RubyScriptIntrospectorTestCase.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import helloworld.HelloWorldService;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Map;
-
-import javax.wsdl.WSDLException;
-import javax.xml.namespace.QName;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubySCAConfig;
-import org.apache.tuscany.container.ruby.rubyscript.RubyScript;
-import org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl;
-import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-public class RubyScriptIntrospectorTestCase extends TestCase {
-
- private static final WSDLDefinitionRegistryImpl.Monitor NULL_MONITOR = new WSDLDefinitionRegistryImpl.Monitor() {
- public void readingWSDL(String namespace, URL location) {
- }
-
- public void cachingDefinition(String namespace, URL location) {
- }
- };
-
- public void testJavaInterface() throws MissingResourceException,
- InvalidServiceContractException {
- RubyScript rs = new RubyScript("javaInterfaceTest",
- "$SCA = { 'javaInterface' => 'helloworld.HelloWorldService'}",
- null,
- getClass().getClassLoader());
- RubySCAConfig scaConfig = new RubySCAConfig(rs.getRubyEngine().getGlobalVariables());
- RubyIntrospector introspector = new RubyIntrospector(null,
- new JavaInterfaceProcessorRegistryImpl());
- ComponentType comonentType = introspector.introspectScript(scaConfig,
- rs.getClassLoader());
- assertNotNull(comonentType);
- Map services = comonentType.getServices();
- assertEquals(1,
- services.size());
- ServiceDefinition serviceDefinition = (ServiceDefinition) services.values()
- .iterator()
- .next();
- ServiceContract serviceContract = serviceDefinition.getServiceContract();
- assertTrue(serviceContract instanceof JavaServiceContract);
- JavaServiceContract javaServiceContract = (JavaServiceContract) serviceContract;
- assertEquals(HelloWorldService.class,
- javaServiceContract.getInterfaceClass());
- }
-
- public void testWSDLLocation() throws WSDLException {
- // RhinoScript rs = new RhinoScript("wsdlLocation",
- // "SCA = { wsdlLocation : 'src/test/resources/org/apache/tuscany/container/javascript/rhino/helloworld.wsdl',};", null, getClass()
- // .getClassLoader());
- // RhinoSCAConfig scaConfig = new RhinoSCAConfig(rs.getScriptScope());
- // JavaScriptIntrospector introspector = new JavaScriptIntrospector(null);
- // ComponentType comonentType = introspector.introspectScript(scaConfig, rs.getClassLoader());
- // assertNotNull(comonentType);
- // Map services = comonentType.getServices();
- // assertEquals(1, services.size());
- // ServiceDefinition serviceDefinition = (ServiceDefinition) services.values().iterator().next();
- // ServiceContract serviceContract = serviceDefinition.getServiceContract();
- // assertTrue(serviceContract instanceof WSDLServiceContract);
- // WSDLServiceContract wsdlServiceContract = (WSDLServiceContract) serviceContract;
- // assertEquals(new QName("http://helloworld", "HelloWorld"), wsdlServiceContract.getPortType().getQName());
- }
-
- public void testWSDLPortType() throws WSDLException,
- IOException,
- MissingResourceException,
- InvalidServiceContractException {
- RubyScript rs = new RubyScript("wsdlPortType",
- "$SCA = { 'wsdlPortType' => 'HelloWorld', 'wsdlNamespace' => 'http://helloworld'}",
- null,
- getClass().getClassLoader());
- RubySCAConfig scaConfig = new RubySCAConfig(rs.getRubyEngine().getGlobalVariables());
-
- WSDLDefinitionRegistryImpl wsdlReg = new WSDLDefinitionRegistryImpl();
- wsdlReg.setMonitor(NULL_MONITOR);
- URL wsdlURL = getClass().getClassLoader()
- .getResource("org/apache/tuscany/container/ruby/jruby/helloworld.wsdl");
- wsdlReg.loadDefinition("http://helloworld",
- wsdlURL);
-
- RubyIntrospector introspector = new RubyIntrospector(wsdlReg,
- new JavaInterfaceProcessorRegistryImpl());
- ComponentType comonentType = introspector.introspectScript(scaConfig,
- rs.getClassLoader());
- assertNotNull(comonentType);
- Map services = comonentType.getServices();
- assertEquals(1,
- services.size());
- ServiceDefinition serviceDefinition = (ServiceDefinition) services.values()
- .iterator()
- .next();
- ServiceContract serviceContract = serviceDefinition.getServiceContract();
- assertTrue(serviceContract instanceof WSDLServiceContract);
- WSDLServiceContract wsdlServiceContract = (WSDLServiceContract) serviceContract;
- assertEquals(new QName("http://helloworld", "HelloWorld"),
- wsdlServiceContract.getPortType().getQName());
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/ScriptInvokeTestCase.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/ScriptInvokeTestCase.java
deleted file mode 100644
index c83605eecb..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/ScriptInvokeTestCase.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubyScript;
-
-/**
- * Tests for invoker JavaScriptComponents
- */
-public class ScriptInvokeTestCase extends TestCase {
-
- private static final String SCRIPT = "def greet(name) \n return name \n end \n";
-
- private RubyScript rubyScript;
-
- /**
- * Tests the invocation of a Groovy "script" as opposed to a class
- */
- public void testBasicScriptInvocation() throws Exception {
-// ModuleScopeContainer scope = new ModuleScopeContainer(null);
-// scope.start();
-// List<Class<?>> services = new ArrayList<Class<?>>();
-// services.add(Greeting.class);
-// RubyComponent<Greeting> context = new RubyComponent<Greeting>("source", rhinoScript, services, new HashMap<String, Object>(),
-// null, scope, ArtifactFactory.createWireService(), null);
-// scope.register(context);
-// Greeting object = (Greeting) context.getServiceInstance();
-// assertEquals("foo", object.greet("foo"));
-// scope.stop();
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- rubyScript = new RubyScript("test", SCRIPT);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/WireTestCase.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/WireTestCase.java
deleted file mode 100644
index 3794eb82f7..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/WireTestCase.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby;
-
-import static org.easymock.EasyMock.reportMatcher;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.container.ruby.mock.Greeting;
-import org.apache.tuscany.container.ruby.rubyscript.RubyScript;
-import org.apache.tuscany.core.component.scope.ModuleScopeContainer;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.InboundInvocationChain;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.test.ArtifactFactory;
-import org.easymock.IArgumentMatcher;
-
-/**
- * Tests for JavaScript component wiring
- */
-public class WireTestCase extends TestCase {
-
- private static final String SCRIPT = " def setWire(ref)\n" + " wire = ref\n"
- + "end \n" + " def greet(name)\n" + " return wire.greet(name) \n"
- + " end\n";
-
- private static final String SCRIPT2 = " def greet(name)\n" + " return name \n"
- + "end \n";
-
- private RubyScript implClass1;
-
- private RubyScript implClass2;
-
- /**
- * Tests a basic invocation down a source wire
- */
- public void testReferenceWireInvocation() throws Exception {
- // ModuleScopeContainer scope = new ModuleScopeContainer(null);
- // scope.start();
- //
- // List<Class<?>> services = new ArrayList<Class<?>>();
- // services.add(Greeting.class);
- // JavaScriptComponent<Greeting> context = new JavaScriptComponent<Greeting>("source", implClass1, services, properties, null, scope,
- // ArtifactFactory.createWireService(), null);
- // OutboundWire<?> wire = ArtifactFactory.createOutboundWire("wire", Greeting.class);
- // ArtifactFactory.terminateWire(wire);
- //
- // TargetInvoker invoker = createMock(TargetInvoker.class);
- // expect(invoker.isCacheable()).andReturn(false);
- // Message response = new MessageImpl();
- // response.setBody("foo");
- // expect(invoker.invoke(eqMessage())).andReturn(response);
- // replay(invoker);
- //
- // for (OutboundInvocationChain chain : wire.getInvocationChains().values()) {
- // chain.setTargetInvoker(invoker);
- // }
- // scope.register(context);
- // context.addOutboundWire(wire);
- // Greeting greeting = context.getServiceInstance();
- // assertEquals("foo", greeting.greet("foo"));
- // verify(invoker);
- //
- // scope.stop();
- }
-
- // todo this could be generalized and moved to test module
- public static Message eqMessage() {
- reportMatcher(new IArgumentMatcher() {
- public boolean matches(Object object) {
- if (!(object instanceof Message)) {
- return false;
- }
- final Message msg = (Message) object;
- Object[] body = (Object[]) msg.getBody();
- return "foo".equals(body[0]);
- }
-
- public void appendTo(StringBuffer stringBuffer) {
- }
- });
- return null;
- }
-
- /**
- * Tests a basic invocation to a target
- */
- public void testTargetInvocation() throws Exception {
- ModuleScopeContainer scope = new ModuleScopeContainer(null);
- scope.start();
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- Map<String, Object> properties = new Hashtable<String,Object>();
- properties.put("greeting","HeyThere");
-
- RubyComponent context = new RubyComponent("source",
- implClass2,
- null,
- services,
- properties,
- null,
- scope,
- ArtifactFactory.createWireService(),
- null);
- scope.register(context);
- DataType<String> returnDataType = new DataType<String>(String.class, String.class.getName());
-// Operation<String> operation = new Operation<String>("greet",
-// returnDataType,
-// null,
-// null,
-// false,
-// null);
-//
-// TargetInvoker invoker = context.createTargetInvoker(null,
-// operation);
-// assertEquals("foo",
-// invoker.invokeTarget(new String[]{"foo"}));
- scope.stop();
- }
-
- /**
- * Tests a basic invocation down a target wire
- */
- public void testTargetWireInvocation() throws Exception {
- ModuleScopeContainer scope = new ModuleScopeContainer(null);
- scope.start();
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Greeting.class);
- Map<String, Object> properties = new Hashtable<String,Object>();
- properties.put("greeting","HeyThere");
- RubyComponent context = new RubyComponent("source",
- implClass2,
- null,
- services,
- properties,
- null,
- scope,
- ArtifactFactory.createWireService(),
- null);
- scope.register(context);
-
- InboundWire wire = ArtifactFactory.createInboundWire("Greeting",
- Greeting.class);
- ArtifactFactory.terminateWire(wire);
- for (InboundInvocationChain chain : wire.getInvocationChains().values()) {
- chain.setTargetInvoker(context.createTargetInvoker(null,
- chain.getOperation()));
- }
- context.addInboundWire(wire);
- Greeting greeting = (Greeting) context.getServiceInstance("Greeting");
- assertEquals("foo",
- greeting.greet("foo"));
- scope.stop();
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- implClass1 = new RubyScript("script1", SCRIPT);
- implClass2 = new RubyScript("script2", SCRIPT2);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/function/HelloWorldTestCase.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/function/HelloWorldTestCase.java
deleted file mode 100644
index c2af5b9b10..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/function/HelloWorldTestCase.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby.function;
-
-import java.net.URL;
-
-import helloworld.HelloWorldService;
-
-import org.apache.tuscany.test.SCATestCase;
-import org.osoa.sca.CompositeContext;
-import org.osoa.sca.CurrentCompositeContext;
-
-/**
- * This shows how to test the HelloWorld service component.
- */
-public class HelloWorldTestCase extends SCATestCase {
-
- private HelloWorldService helloWorldService;
- private CompositeContext context = null;
-
-
- protected void setUp() throws Exception {
- URL base = getClass().getResource("/META-INF/sca/ruby.system.scdl");
- addExtension("RubyContainer", new URL(base, "default.scdl"));
- setApplicationSCDL(getClass().getResource("helloworld.scdl"));
- super.setUp();
-
- context = CurrentCompositeContext.getContext();
- helloWorldService = context.locateService(HelloWorldService.class, "HelloWorldRubyComponent");
-
- //helloWorldService = context.locateService(HelloWorldService.class, "HelloWorldJavaReference");
- }
-
- public void testHelloWorldWithClass() throws Exception {
- assertEquals(helloWorldService.sayHello("petra"), "Hey Howdy from Java Reference petra");
- //System.out.println(helloWorldService.sayHello("petra"));
- }
-
- public void testHelloWorldGlobal() throws Exception {
- assertEquals(helloWorldService.sayHello("artep"), "Hey Howdy from Java Reference artep");
- //System.out.println(helloWorldService.sayHello("artep"));
- }
-
- public void testHelloWorldProperty() throws Exception {
- HelloWorldService helloWorldService = context.locateService(HelloWorldService.class, "HelloWorldProperty");
- assertEquals(helloWorldService.sayHello("petra"), "Namaskaar petra");
- //System.out.println(helloWorldService.sayHello("petra"));
- }
-
- public void testHelloWorldPropertyDefault() throws Exception {
- HelloWorldService helloWorldService = context.locateService(HelloWorldService.class, "HelloWorldPropertyDefault");
- assertEquals(helloWorldService.sayHello("petra"), "Bow Wow petra");
- //System.out.println(helloWorldService.sayHello("petra"));
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/mock/Greeting.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/mock/Greeting.java
deleted file mode 100644
index acf71f152b..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/java/org/apache/tuscany/container/ruby/mock/Greeting.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.ruby.mock;
-
-public interface Greeting {
-
- String setWire(Greeting ref);
-
- String greet(String name);
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/HelloWorld.componentType b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/HelloWorld.componentType
deleted file mode 100644
index d52b63226c..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/HelloWorld.componentType
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <service name="HelloWorldService">
- <interface.java interface="helloworld.HelloWorldService"/>
- </service>
- <reference name="extHelloWorld">
- <interface.java interface="helloworld.HelloWorldService"/>
- </reference>
- <property name="greeting" type="xsd:string">Hullow</property>
-</componentType>
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/HelloWorld.rb b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/HelloWorld.rb
deleted file mode 100644
index 3f1a053b15..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/HelloWorld.rb
+++ /dev/null
@@ -1,33 +0,0 @@
- # Licensed to the Apache Software Foundation (ASF) under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. The ASF licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing,
- # software distributed under the License is distributed on an
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- # KIND, either express or implied. See the License for the
- # specific language governing permissions and limitations
- # under the License.
-
-class Helloworld
-
- def sayHello(s)
- return "Hello to " + s + " from the Ruby World!"
- end
-
-end
-
-class HelloWorldServiceRubyImpl
- attr_writer :extHelloWorld
- attr_writer :greeting
-
- def sayHello(s)
- return @greeting + " " + @extHelloWorld.sayHello(s);
- end
-end
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/IntrospectableHelloWorld.rb b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/IntrospectableHelloWorld.rb
deleted file mode 100644
index d4edb7a100..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/IntrospectableHelloWorld.rb
+++ /dev/null
@@ -1,30 +0,0 @@
- # Licensed to the Apache Software Foundation (ASF) under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. The ASF licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing,
- # software distributed under the License is distributed on an
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- # KIND, either express or implied. See the License for the
- # specific language governing permissions and limitations
- # under the License.
-
-$SCA = {
- 'javaInterface' => 'helloworld.HelloWorldService'
-}
-
-def sayHello(s)
- return "Hello to " + s + " from the Ruby World!"
-end
-
-class HelloWorldServiceRubyImpl
- def sayHello(s)
- return "Hello to " + s + " from the Ruby World!"
- end
-end
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/helloworld.scdl b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/helloworld.scdl
deleted file mode 100644
index 222beac543..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/helloworld.scdl
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:rb="http://incubator.apache.org/tuscany/xmlns/container/rb/1.0-incubator-M2"
-
- name="HelloWorldComposite">
-
- <component name="HelloWorldRubyComponent">
- <rb:implementation.rb script="org/apache/tuscany/container/ruby/function/HelloWorld.rb" class="HelloWorldServiceRubyImpl"/>
- <reference name="extHelloWorld" target="HelloWorldJavaReference">HelloWorldJavaReference</reference>
- <property name="greeting">Hey</property>
- </component>
-
- <component name="HelloWorldJavaReference">
- <implementation.java class="helloworld.HelloWorldServiceImpl"/>
- <property name="greeting">Howdy</property>
- </component>
-
- <component name="HelloWorldProperty">
- <rb:implementation.rb script="org/apache/tuscany/container/ruby/function/propertyTest.rb" class="HelloWorldPropertyTest"/>
- <property name="GREETING">Namaskaar</property>
- </component>
-
- <component name="HelloWorldPropertyDefault">
- <rb:implementation.rb script="org/apache/tuscany/container/ruby/function/propertyTest.rb" class="HelloWorldPropertyTest"/>
- </component>
-</composite>
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/propertyTest.componentType b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/propertyTest.componentType
deleted file mode 100644
index 6b37990b8b..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/propertyTest.componentType
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <service name="HelloWorldService">
- <interface.java interface="helloworld.HelloWorldService"/>
- </service>
- <property name="GREETING" type="xsd:string">Bow Wow</property>
-</componentType>
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/propertyTest.rb b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/propertyTest.rb
deleted file mode 100644
index 7aa0f3e8ea..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/function/propertyTest.rb
+++ /dev/null
@@ -1,24 +0,0 @@
- # Licensed to the Apache Software Foundation (ASF) under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. The ASF licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing,
- # software distributed under the License is distributed on an
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- # KIND, either express or implied. See the License for the
- # specific language governing permissions and limitations
- # under the License.
-
-class HelloWorldPropertyTest
- attr_writer :GREETING
-
- def sayHello(s)
- return @GREETING + " " + s;
- end
-end \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/jruby/helloworld.wsdl b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/jruby/helloworld.wsdl
deleted file mode 100644
index 67067f044a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/jruby/helloworld.wsdl
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<wsdl:definitions targetNamespace="http://helloworld" xmlns:tns="http://helloworld" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- name="helloworld">
-
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="http://helloworld" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema">
-
- <element name="getGreetings">
- <complexType>
- <sequence>
- <element name="name" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="getGreetingsResponse">
- <complexType>
- <sequence>
- <element name="getGreetingsReturn" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
- </schema>
- </wsdl:types>
-
- <wsdl:message name="getGreetingsRequest">
- <wsdl:part element="tns:getGreetings" name="parameters"/>
- </wsdl:message>
-
- <wsdl:message name="getGreetingsResponse">
- <wsdl:part element="tns:getGreetingsResponse" name="parameters"/>
- </wsdl:message>
-
- <wsdl:portType name="HelloWorld">
- <wsdl:operation name="getGreetings">
- <wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest"/>
- <wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse"/>
- </wsdl:operation>
- </wsdl:portType>
-
- <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld">
- <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="getGreetings">
- <wsdlsoap:operation soapAction=""/>
- <wsdl:input name="getGreetingsRequest">
- <wsdlsoap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="getGreetingsResponse">
- <wsdlsoap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
-
- <wsdl:service name="HelloWorldService">
- <wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldSoapPort">
- <wsdlsoap:address location="http://localhost:8080/sample-helloworldws/services/HelloWorldWebService"/>
- </wsdl:port>
- </wsdl:service>
-
-</wsdl:definitions>
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/mock/test.rb b/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/mock/test.rb
deleted file mode 100644
index ef2694b475..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/test/resources/org/apache/tuscany/container/ruby/mock/test.rb
+++ /dev/null
@@ -1 +0,0 @@
-//Test Script \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/.ruleset b/branches/sca-java-M2/sca/services/containers/container.spring/.ruleset
deleted file mode 100644
index 3886f07f2d..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/LICENSE.txt b/branches/sca-java-M2/sca/services/containers/container.spring/LICENSE.txt
deleted file mode 100755
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/NOTICE.txt b/branches/sca-java-M2/sca/services/containers/container.spring/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/README.txt b/branches/sca-java-M2/sca/services/containers/container.spring/README.txt
deleted file mode 100755
index 9b26d1690a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/README.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-Apache Tuscany M1 build (May, 2006)
-===================================
-
-http://incubator.apache.org/tuscany/
-
-Tuscany is an effort undergoing incubation at the Apache Software Foundation
-(ASF), sponsored by the Web Services PMC.
-
-Incubation is required of all newly accepted projects until a further review
-indicates that the infrastructure, communications, and decision making process
-have stabilized in a manner consistent with other successful ASF projects.
-
-While incubation status is not necessarily a reflection of the completeness or
-stability of the code, it does indicate that the project has yet to be fully
-endorsed by the ASF.
-
-
-Support
--------
-
-Any problem with this release can be reported to the Tuscany mailing list
-or in the JIRA issue tracker.
-
-Mailing list subscription:
- tuscany-dev-subscribe@ws.apache.org
-
-Jira:
- http://issues.apache.org/jira/browse/Tuscany
-
-
-Thank you for using Tuscany!
-
-
-The Tuscany Team.
-
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/pom.xml b/branches/sca-java-M2/sca/services/containers/container.spring/pom.xml
deleted file mode 100755
index 057f5b7d61..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <parent>
- <groupId>org.apache.tuscany.sca.services.containers</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>spring</artifactId>
- <name>Apache Tuscany Spring Framework Container</name>
- <description>Container for managing Spring composites</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>webapp</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring</artifactId>
- <version>2.0</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.0.4</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
-
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </dependency>
-
- </dependencies>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/config/SCANamespaceHandlerResolver.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/config/SCANamespaceHandlerResolver.java
deleted file mode 100644
index 047d2b4ad1..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/config/SCANamespaceHandlerResolver.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.config;
-
-import org.apache.tuscany.spi.model.CompositeComponentType;
-
-import org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver;
-import org.springframework.beans.factory.xml.NamespaceHandler;
-import org.springframework.sca.config.ScaNamespaceHandler;
-
-/**
- * Overrides the default Spring namespace resolver to automatically register {@link SCANamespaceHandler} instead of
- * requiring a value to be supplied in a Spring configuration
- * <p/>
- * TODO: Figure out how to activate this impl
- *
- * @version $$Rev$$ $$Date$$
- */
-public class SCANamespaceHandlerResolver extends DefaultNamespaceHandlerResolver {
-
- private static final String SCA_NAMESPACE = "http://www.springframework.org/schema/sca";
-
- private ScaNamespaceHandler handler;
-
- public SCANamespaceHandlerResolver(ClassLoader classLoader, CompositeComponentType componentType) {
- super(classLoader);
- handler = new ScaNamespaceHandler(/*componentType*/);
- }
-
- public SCANamespaceHandlerResolver(String handlerMappingsLocation,
- ClassLoader classLoader,
- CompositeComponentType componentType) {
- super(classLoader, handlerMappingsLocation);
- handler = new ScaNamespaceHandler(/*componentType*/);
- }
-
- public NamespaceHandler resolve(String namespaceUri) {
- if (SCA_NAMESPACE.equals(namespaceUri)) {
- return handler;
- }
- return super.resolve(namespaceUri);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/config/ScaApplicationContext.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/config/ScaApplicationContext.java
deleted file mode 100644
index cdf33b0ea1..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/config/ScaApplicationContext.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.config;
-
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
-import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.core.io.Resource;
-import org.springframework.sca.ScaAdapterAware;
-import org.springframework.sca.ScaAdapterPostProcessor;
-
-import org.apache.tuscany.container.spring.impl.SpringScaAdapter;
-import org.apache.tuscany.container.spring.model.SpringComponentType;
-
-/**
- * @author Andy Piper
- * @since 2.1
- */
-public class ScaApplicationContext extends AbstractXmlApplicationContext {
- public static final String APP_CONTEXT_PROP = "org.springframework.sca.application.context";
- private Resource appXml;
- private SpringComponentType componentType;
-
- public ScaApplicationContext(Resource appXml, SpringComponentType componentType) {
- this(null, appXml, componentType);
- }
-
- public ScaApplicationContext(ApplicationContext parent, Resource appXml, SpringComponentType componentType) {
- super(parent);
- this.appXml = appXml;
- this.componentType = componentType;
- refresh();
- }
-
- protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader) {
- // beanDefinitionReader.setEntityResolver(null);
- beanDefinitionReader
- .setNamespaceHandlerResolver(new SCANamespaceHandlerResolver(getClassLoader(), componentType));
- }
-
- protected Resource[] getConfigResources() {
- return new Resource[]{appXml};
- }
-
- protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
- super.postProcessBeanFactory(beanFactory);
- beanFactory.addBeanPostProcessor(new ScaAdapterPostProcessor(new SpringScaAdapter(componentType)));
- beanFactory.ignoreDependencyInterface(ScaAdapterAware.class);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringComponentTypeLoader.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringComponentTypeLoader.java
deleted file mode 100644
index fa815eee78..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringComponentTypeLoader.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import org.springframework.context.support.AbstractRefreshableApplicationContext;
-import org.springframework.core.io.Resource;
-import org.springframework.sca.ScaServiceExporter;
-
-import org.apache.tuscany.container.spring.config.ScaApplicationContext;
-import org.apache.tuscany.container.spring.model.SpringComponentType;
-import org.apache.tuscany.container.spring.model.SpringImplementation;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentTypeLoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.host.RuntimeInfo;
-
-/**
- * Loads a component type for a Spring <code>ApplicationContext</code>. The implementation creates a new instance of a
- * Spring application context which is configured with SCA namespace handlers for generating component type information
- *
- * @version $$Rev$$ $$Date$$
- */
-
-public class SpringComponentTypeLoader extends ComponentTypeLoaderExtension<SpringImplementation> {
- public static final String SERVICE_BEAN_SUFFIX = ".SCAService";
-
- private org.apache.tuscany.host.RuntimeInfo runtimeInfo;
-
- public SpringComponentTypeLoader(@Autowire LoaderRegistry loaderRegistry, @Autowire RuntimeInfo runtimeInfo) {
- super(loaderRegistry);
- this.runtimeInfo = runtimeInfo;
- }
-
- @Override
- protected Class<SpringImplementation> getImplementationClass() {
- return SpringImplementation.class;
- }
-
- /**
- * Responsible for loading the Spring composite component type. The the application context is instantiated here as
- * it is needed to derive component type information. Since the component type is loaded per SCDL entry (i.e.
- * composite use) one application context instance will be created per Spring composite instance.
- */
- @SuppressWarnings("unchecked")
- public void load(CompositeComponent parent,
- SpringImplementation implementation,
- DeploymentContext deploymentContext) throws LoaderException {
- if (implementation.getComponentType() != null) {
- // FIXME hack since the builder registry loads the implementation type and the Spring implementation loader
- // needs to as well. The second call is done by the builder registry and we just ignore it.
- return;
- }
- Resource resource = implementation.getApplicationResource();
- SpringComponentType componentType = new SpringComponentType();
- // REVIEW andyp -- pass in deploymentContext.getClassLoader()?
- AbstractRefreshableApplicationContext ctx;
- if (runtimeInfo instanceof SpringRuntimeInfo) {
- ctx = ((SpringRuntimeInfo) runtimeInfo).getApplicationContext();
- } else {
- ctx = new ScaApplicationContext(resource, componentType);
- }
- componentType.setApplicationContext(ctx); // FIXME andyp@bea.com -- don't do this!
-
- // If there are <sca:service> elements, they define (and limit) the services exposed
- // in the componentType.
- String [] serviceBeanNames = ctx.getBeanNamesForType(ScaServiceExporter.class);
- for (String serviceBeanName : serviceBeanNames) {
- int nSuffix = serviceBeanName.indexOf(SERVICE_BEAN_SUFFIX);
- if (nSuffix == -1) {
- continue;
- }
-
- String serviceName = serviceBeanName.substring(0, nSuffix);
- ScaServiceExporter serviceBean = (ScaServiceExporter) ctx.getBean(serviceName);
- // REVIEW andyp -- use the class directly?
- String serviceTypeName = serviceBean.getServiceType().getName();
- try {
- Class serviceInterface = Class.forName(serviceTypeName, true, deploymentContext.getClassLoader());
- componentType.addServiceType(serviceName, serviceInterface);
- //ServiceDefinition service = createService(serviceInterface);
- //componentType.getServices().put(serviceName, service);
- } catch (ClassNotFoundException e) {
- throw new LoaderException(e);
- }
- }
- // if no service tags are specified, expose all beans
- componentType.setExposeAllBeans(componentType.getServiceTypes().isEmpty());
- implementation.setComponentType(componentType);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilder.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilder.java
deleted file mode 100644
index 6ec5d8fdd7..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilder.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import org.apache.tuscany.spi.QualifiedName;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
-import org.apache.tuscany.spi.model.Binding;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.CompositeComponentType;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.wire.InboundInvocationChain;
-import org.apache.tuscany.spi.wire.InboundWire;
-
-import org.apache.tuscany.container.spring.model.SpringImplementation;
-import org.springframework.context.support.AbstractApplicationContext;
-
-/**
- * Creates a {@link org.apache.tuscany.container.spring.impl.SpringCompositeComponent} from an assembly model
- *
- * @version $$Rev$$ $$Date$$
- */
-public class SpringCompositeBuilder extends ComponentBuilderExtension<SpringImplementation> {
-
- public Component build(CompositeComponent parent,
- ComponentDefinition<SpringImplementation> componentDefinition,
- DeploymentContext deploymentContext) throws BuilderConfigException {
- String name = componentDefinition.getName();
- SpringImplementation implementation = componentDefinition.getImplementation();
- AbstractApplicationContext applicationContext = implementation.getComponentType().getApplicationContext();
- SpringCompositeComponent component =
- new SpringCompositeComponent(name, applicationContext, parent, connector, null);
- CompositeComponentType<BoundServiceDefinition<? extends Binding>,
- BoundReferenceDefinition<? extends Binding>,
- ? extends Property> componentType = implementation.getComponentType();
-
- // We still need to set the target invoker as opposed to having the connector do it since the
- // Spring context is "opaque" to the wiring fabric. In other words, the Spring context does not expose
- // its beans as SCA components to the connector to wire the services to
- for (BoundServiceDefinition<? extends Binding> serviceDefinition : componentType.getServices().values()) {
- // call back into builder registry to handle building of services
- Service service = (Service) builderRegistry.build(parent, serviceDefinition, deploymentContext);
- // wire serviceDefinition to bean invokers
- InboundWire wire = service.getInboundWire();
- QualifiedName targetName = new QualifiedName(serviceDefinition.getTarget().getPath());
- for (InboundInvocationChain chain : wire.getInvocationChains().values()) {
- // FIXME this should go to the connector and get policy and be invoked from SpringComposite.prepare()
- chain.addInterceptor(new SpringInterceptor());
- chain.setTargetInvoker(component.createTargetInvoker(targetName.getPartName(), chain.getOperation()));
- }
- component.register(service);
- }
- for (BoundReferenceDefinition<?> referenceDefinition : componentType.getReferences().values()) {
- // call back into builder registry to handle building of references
- Reference reference = (Reference) builderRegistry.build(parent, referenceDefinition, deploymentContext);
- connector.connect(reference);
- component.register(reference);
- }
- return component;
- }
-
- protected Class<SpringImplementation> getImplementationType() {
- return SpringImplementation.class;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeComponent.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeComponent.java
deleted file mode 100644
index b30202cb96..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringCompositeComponent.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Locale;
-import java.util.Map;
-
-import org.w3c.dom.Document;
-
-import org.apache.tuscany.spi.builder.Connector;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.extension.CompositeComponentExtension;
-import static org.apache.tuscany.spi.idl.java.JavaIDLUtils.findMethod;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.BeanFactory;
-import org.springframework.beans.factory.BeanNotOfRequiredTypeException;
-import org.springframework.beans.factory.NoSuchBeanDefinitionException;
-import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationEvent;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.context.MessageSourceResolvable;
-import org.springframework.context.NoSuchMessageException;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.core.io.Resource;
-
-/**
- * A composite implementation responsible for managing Spring application contexts.
- *
- * @version $$Rev$$ $$Date$$
- */
-public class SpringCompositeComponent extends CompositeComponentExtension {
- private static final String[] EMPTY_ARRAY = new String[0];
- private AbstractApplicationContext springContext;
-
- /**
- * Creates a new composite
- *
- * @param name the name of the SCA composite
- * @param springContext the pre-instantiated Spring applicaiton context
- * @param parent the SCA composite parent
- * @param connector the connector to use for wiring children
- * @param propertyValues the values of this composite's Properties
- */
- public SpringCompositeComponent(String name,
- AbstractApplicationContext springContext,
- CompositeComponent parent,
- Connector connector,
- Map<String, Document> propertyValues) {
- super(name, parent, connector, propertyValues);
- SCAApplicationContext scaApplicationContext = new SCAApplicationContext();
- springContext.setParent(scaApplicationContext);
- // REVIEW we need to refresh to pick up the parent but this is not optimal
- springContext.refresh();
- this.springContext = springContext;
- }
-
- public TargetInvoker createTargetInvoker(String targetName, Operation operation) {
- ServiceContract contract = operation.getServiceContract();
- Method[] methods = contract.getInterfaceClass().getMethods();
- Method method = findMethod(operation, methods);
- // FIXME test m == null
- // Treat the serviceName as the Spring bean name to look up
- return new SpringInvoker(targetName, method, springContext);
- }
-
- public void setScopeContainer(ScopeContainer scopeContainer) {
- // not needed
- }
-
- public ConfigurableApplicationContext getApplicationContext() {
- return springContext;
- }
-
- public void prepare() {
- // TODO handle only references with a composite binding
- }
-
- public void start() {
- super.start();
- for (SCAObject child : children.values()) {
- child.start();
- }
- springContext.start();
- }
-
- public void stop() {
- super.stop();
- springContext.stop();
- }
-
- public <T> T locateService(Class<T> serviceInterface, String name) {
- return serviceInterface.cast(springContext.getBean(name));
- }
-
- /**
- * An inner class is required to act as the Spring application context parent as opposed to implementing the
- * interface since the return types for {@link org.springframework.context.ApplicationContext#getParent()} and
- * {@link org.apache.tuscany.spi.component.CompositeComponent#getParent()} clash
- */
- private class SCAApplicationContext implements ApplicationContext {
-
- public Object getBean(String name) throws BeansException {
- return getBean(name, null);
- }
-
- public Object getBean(String name, Class requiredType) throws BeansException {
- SCAObject object = children.get(name); // keep cast due to compiler error
- if (object == null) {
- return null;
- }
- Class<?> type;
- if (object instanceof Reference) {
- type = ((Reference) object).getInterface();
- } else if (object instanceof Service) {
- type = ((Service) object).getInterface();
- } else {
- throw new AssertionError("Illegal object type [" + name + "]");
- }
- if (requiredType != null && requiredType.isAssignableFrom(type)) {
- // need null check since Spring may pass in a null
- throw new BeanNotOfRequiredTypeException(name, requiredType, type);
- }
- return object.getServiceInstance();
- }
-
- public boolean containsBean(String name) {
- return children.get(name) != null;
- }
-
- public boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
- return children.get(name) != null;
- }
-
- public Class getType(String name) throws NoSuchBeanDefinitionException {
- return null;
- }
-
- public String[] getAliases(String name) throws NoSuchBeanDefinitionException {
- return EMPTY_ARRAY;
- }
-
- public ApplicationContext getParent() {
- return null;
- }
-
- public AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateException {
- return null;
- }
-
- public String getDisplayName() {
- return getName();
- }
-
- public long getStartupDate() {
- return 0;
- }
-
- public boolean containsBeanDefinition(String beanName) {
- return false;
- }
-
- public int getBeanDefinitionCount() {
- return 0;
- }
-
- public String[] getBeanDefinitionNames() {
- return new String[0];
- }
-
- public String[] getBeanNamesForType(Class type) {
- return new String[0];
- }
-
- public String[] getBeanNamesForType(Class type, boolean includePrototypes, boolean includeFactoryBeans) {
- return new String[0];
- }
-
- public Map getBeansOfType(Class type) throws BeansException {
- return null;
- }
-
- public Map getBeansOfType(Class type, boolean includePrototypes, boolean includeFactoryBeans)
- throws BeansException {
- return null;
- }
-
- public BeanFactory getParentBeanFactory() {
- return null;
- }
-
- public boolean containsLocalBean(String name) {
- return false;
- }
-
- public String getMessage(String code, Object[] args, String defaultMessage, Locale locale) {
- return null;
- }
-
- public String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException {
- return null;
- }
-
- public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException {
- return null;
- }
-
- public void publishEvent(ApplicationEvent event) {
-
- }
-
- public Resource[] getResources(String locationPattern) throws IOException {
- return new Resource[0];
- }
-
- public Resource getResource(String location) {
- return null;
- }
-
- public ClassLoader getClassLoader() {
- // REVIEW: this is almost certainly flawed, but it's not clear how the SCA runtime's
- // resource loading mechanism is exposed right now.
- return this.getClass().getClassLoader();
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringImplementationLoader.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringImplementationLoader.java
deleted file mode 100644
index c95375cad2..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringImplementationLoader.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.jar.Attributes;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-import javax.xml.namespace.QName;
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-
-import org.apache.tuscany.container.spring.model.SpringComponentType;
-import org.apache.tuscany.container.spring.model.SpringImplementation;
-import org.apache.tuscany.host.RuntimeInfo;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.UrlResource;
-
-/**
- * Loader for handling Spring <spring:implementation.spring> elements.
- */
-public class SpringImplementationLoader extends LoaderExtension<SpringImplementation> {
- private static final QName IMPLEMENTATION_SPRING = new QName("http://www.osoa.org/xmlns/sca/1.0",
- "implementation.spring");
-
- private static final String APPLICATION_CONTEXT = "application-context.xml";
-
- private static final QName SERVICE_ELEMENT = new QName(XML_NAMESPACE_1_0, "service");
- private static final QName REFERENCE_ELEMENT = new QName(XML_NAMESPACE_1_0, "reference");
-
- private final RuntimeInfo runtimeInfo;
-
- public SpringImplementationLoader(@Autowire LoaderRegistry registry, @Autowire RuntimeInfo runtimeInfo) {
- super(registry);
- this.runtimeInfo = runtimeInfo;
- }
-
- public QName getXMLType() {
- return IMPLEMENTATION_SPRING;
- }
-
- @SuppressWarnings("unchecked")
- public SpringImplementation load(CompositeComponent parent,
- XMLStreamReader reader,
- DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
-
- String locationAttr = reader.getAttributeValue(null, "location");
- if (locationAttr == null && !contextProvided()) {
- throw new MissingResourceException("No location supplied");
- }
-
- SpringImplementation implementation = new SpringImplementation();
- ClassLoader classLoader = deploymentContext.getClassLoader();
- if (!contextProvided()) {
- implementation.setApplicationResource(getApplicationContextResource(locationAttr, classLoader));
- }
- registry.loadComponentType(parent, implementation, deploymentContext);
- SpringComponentType type = implementation.getComponentType();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- QName qname = reader.getName();
- if (SERVICE_ELEMENT.equals(qname)) {
- BoundServiceDefinition service =
- (BoundServiceDefinition) registry.load(parent, reader, deploymentContext);
- if (!type.isExposeAllBeans()) {
- String name = service.getName();
- if (!type.getServiceTypes().containsKey(name)) {
- LoaderException e = new LoaderException("No service defined in Spring context for ");
- e.setIdentifier(name);
- throw e;
- }
- }
- type.getDeclaredServices().put(service.getName(), service);
- } else if (REFERENCE_ELEMENT.equals(qname)) {
- BoundReferenceDefinition reference =
- (BoundReferenceDefinition) registry.load(parent, reader, deploymentContext);
- type.getDeclaredReferences().put(reference.getName(), reference);
- }
- break;
- case END_ELEMENT:
- if (IMPLEMENTATION_SPRING.equals(reader.getName())) {
- return implementation;
- }
- }
- }
- }
-
- protected Resource getApplicationContextResource(String locationAttr, ClassLoader cl) throws LoaderException {
- assert runtimeInfo != null;
- File manifestFile = null;
- File appXmlFile;
- File locationFile = new File(locationAttr);
-
- if (!locationFile.isAbsolute()) {
- locationFile = new File(runtimeInfo.getApplicationRootDirectory(), locationAttr);
- }
- if (!locationFile.exists()) {
- // FIXME hack
- URL url = cl.getResource(locationAttr);
- if (url != null) {
- return new UrlResource(url);
- }
- throw new MissingResourceException(locationFile.toString());
- }
-
- if (locationFile.isDirectory()) {
- try {
- manifestFile = new File(locationFile, "META-INF/MANIFEST.MF");
- if (manifestFile.exists()) {
- Manifest mf = new Manifest(new FileInputStream(manifestFile));
- Attributes mainAttrs = mf.getMainAttributes();
- String appCtxPath = mainAttrs.getValue("Spring-Context");
- if (appCtxPath != null) {
- appXmlFile = new File(locationFile, appCtxPath);
- if (appXmlFile.exists()) {
- return new UrlResource(appXmlFile.toURL());
- }
- }
- }
- // no manifest-specified Spring context, use default
- appXmlFile = new File(locationFile, APPLICATION_CONTEXT);
- if (appXmlFile.exists()) {
- return new UrlResource(appXmlFile.toURL());
- }
- } catch (IOException e) {
- throw new LoaderException("Error reading manifest " + manifestFile);
- }
- } else {
- try {
- JarFile jf = new JarFile(locationFile);
- JarEntry je;
- Manifest mf = jf.getManifest();
- if (mf != null) {
- Attributes mainAttrs = mf.getMainAttributes();
- String appCtxPath = mainAttrs.getValue("Spring-Context");
- if (appCtxPath != null) {
- je = jf.getJarEntry(appCtxPath);
- if (je != null) {
- // TODO return a Spring specific Resouce type for jars
- return new UrlResource(new URL("jar:" + locationFile.toURL() + "!/" + appCtxPath));
- }
- }
- }
- je = jf.getJarEntry(APPLICATION_CONTEXT);
- if (je != null) {
- return new UrlResource(new URL("jar:" + locationFile.toURI().toURL() + "!" + APPLICATION_CONTEXT));
- }
- } catch (IOException e) {
- // bad archive
- // TODO: create a more appropriate exception type
- throw new MissingResourceException(locationAttr, e);
- }
- }
- throw new MissingResourceException(APPLICATION_CONTEXT);
- }
-
- private boolean contextProvided() {
- return runtimeInfo instanceof SpringRuntimeInfo;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInterceptor.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInterceptor.java
deleted file mode 100644
index fb7f0bd99c..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInterceptor.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import org.apache.tuscany.spi.wire.Interceptor;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-/**
- * A temporary interceptor until the connector is updated
- *
- * @version $Rev$ $Date$
- */
-public class SpringInterceptor implements Interceptor {
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- TargetInvoker invoker = msg.getTargetInvoker();
- if (invoker == null) {
- throw new InvocationRuntimeException("No target invoker specified on message");
- }
- return invoker.invoke(msg);
- }
-
- public void setNext(Interceptor next) {
- throw new IllegalStateException("This interceptor must be the last one in an target interceptor chain");
- }
-
- public Interceptor getNext() {
- return null;
- }
-
- public boolean isOptimizable() {
- return true;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInvoker.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInvoker.java
deleted file mode 100644
index 6e05c888ae..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInvoker.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-
-/**
- * Dispatches to an operation on a Spring bean. Since Spring manages bean lifecycle and scope through resolution in the
- * target proxy, the invoker can safely cache the target proxy.
- *
- * @version $$Rev$$ $$Date$$
- */
-public class SpringInvoker implements TargetInvoker {
- private ApplicationContext springContext;
- // default to true since Spring handles resolution
- private boolean cacheable = true;
- private String beanName;
- private Method method;
- // caching is thread-safe since Spring handles resolution
- private Object bean;
-
- public SpringInvoker(String beanName, Method method, ApplicationContext context) {
- this.beanName = beanName;
- this.method = method;
- springContext = context;
- }
-
- public Object invokeTarget(final Object object) throws InvocationTargetException {
- if (bean == null) {
- try {
- bean = springContext.getBean(beanName);
- } catch (BeansException e) {
- throw new TargetException(e);
- }
- }
- try {
- if (object != null && !object.getClass().isArray()) {
- return method.invoke(bean, object);
- } else {
- return method.invoke(bean, (Object[]) object);
- }
- } catch (IllegalAccessException e) {
- throw new InvocationTargetException(e);
- }
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBodyWithFault(e.getCause());
- } catch (Throwable e) {
- msg.setBodyWithFault(e);
- }
- return msg;
- }
-
- public boolean isCacheable() {
- return cacheable;
- }
-
- public void setCacheable(boolean cacheable) {
- this.cacheable = cacheable;
- }
-
- public boolean isOptimizable() {
- return false;
- }
-
-
- public SpringInvoker clone() throws CloneNotSupportedException {
- SpringInvoker invoker = (SpringInvoker) super.clone();
- invoker.bean = null;
- return invoker;
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringRuntimeInfo.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringRuntimeInfo.java
deleted file mode 100644
index 8b4f0ac905..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringRuntimeInfo.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import java.io.File;
-import java.net.URL;
-
-import org.apache.tuscany.host.RuntimeInfo;
-import org.springframework.context.support.AbstractRefreshableApplicationContext;
-
-/**
- * @author Andy Piper
- * @since 2.1
- */
-public class SpringRuntimeInfo implements RuntimeInfo {
- private AbstractRefreshableApplicationContext applicationContext;
- private File appRootDir;
-
- public SpringRuntimeInfo(File appRootDir, AbstractRefreshableApplicationContext applicationContext) {
- this.appRootDir = appRootDir;
- this.applicationContext = applicationContext;
- }
-
- public AbstractRefreshableApplicationContext getApplicationContext() {
- return applicationContext;
- }
-
- public void setApplicationContext(AbstractRefreshableApplicationContext applicationContext) {
- this.applicationContext = applicationContext;
- }
-
- public File getInstallDirectory() {
- return null;
- }
-
- public File getApplicationRootDirectory() {
- return appRootDir;
- }
-
- public URL getBaseURL() {
- return null;
- }
-
- public boolean isOnline() {
- return true;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringScaAdapter.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringScaAdapter.java
deleted file mode 100644
index ca645db823..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringScaAdapter.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.tuscany.container.spring.impl;
-
-import org.apache.tuscany.container.spring.model.SpringComponentType;
-import org.springframework.sca.ScaAdapter;
-
-/**
- * @author Andy Piper
- * @since 2.1
- */
-public class SpringScaAdapter implements ScaAdapter {
- //private final SpringComponentType componentType;
-
- public SpringScaAdapter(SpringComponentType componentType) {
- //this.componentType = componentType;
- }
-
- public Object getServiceReference(String referenceName, Class referenceType, String moduleName,
- String defaultServiceName) {
- /*
- ReferenceDefinition reference = null;
- componentType.getReferences().put(referenceName, reference);
- */
- return null;
- }
-
- public Object getPropertyReference(String propertyName, Class propertyType, String moduleName) {
- return null;
- }
-
- public void publishAsService(Object serviceImplementation, Class serviceInterface, String serviceName,
- String moduleName) {
- /*
- componentType.addServiceType(serviceName, serviceInterface);
- ServiceDefinition service = null;
- componentType.getServices().put(serviceName, service);
- */
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringComponentType.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringComponentType.java
deleted file mode 100644
index d8758ffdb7..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringComponentType.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.model;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tuscany.spi.model.CompositeComponentType;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-import org.springframework.context.support.AbstractApplicationContext;
-
-/**
- * Component type information for a Spring composite component implementation type. A component type is associated with
- * a Spring application context
- *
- * @version $Rev$ $Date$
- */
-public class SpringComponentType<S extends ServiceDefinition,
- R extends ReferenceDefinition,
- P extends Property<?>> extends CompositeComponentType<S, R, P> {
-
- private AbstractApplicationContext applicationContext;
- private Map<String, Class<?>> serviceTypes = new HashMap<String, Class<?>>();
- private boolean exposeAllBeans;
-
- public SpringComponentType(AbstractApplicationContext applicationContext) {
- this.applicationContext = applicationContext;
- }
-
- public SpringComponentType() {
- }
-
- // FIXME andyp@bea.com -- this is a component type it should NOT contain bean instances!
-
- /**
- * Returns the application context for the component type
- */
- public AbstractApplicationContext getApplicationContext() {
- return applicationContext;
- }
-
- public void setApplicationContext(AbstractApplicationContext applicationContext) {
- this.applicationContext = applicationContext;
- }
-
- /**
- * Returns a collection of service types defined by <code>sca:service</code> elements in a Spring configuration.
- * Service types define beans that can be targets of services defined in the SCDL Spring composite declaration. For
- * each service type, there must be a corresponding service definition as part of the Spring composite declaration
- * per the SCA specification.
- */
- public Map<String, Class<?>> getServiceTypes() {
- return serviceTypes;
- }
-
- /**
- * Adds a service type to the component declaration defined by <code>sca:service</code> elements in a Spring
- * configuration.
- *
- * @param name the name of the service
- * @param type the interface type of the target bean
- */
- public void addServiceType(String name, Class<?> type) {
- this.serviceTypes.put(name, type);
- }
-
- /**
- * Returns true if all beans in the Spring application context may be service targets or false if service types are
- * defined
- */
- public boolean isExposeAllBeans() {
- return exposeAllBeans;
- }
-
- /**
- * Sets if all beans in the Spring application context may be service targets or false if service types are defined
- */
- public void setExposeAllBeans(boolean exposeAllBeans) {
- this.exposeAllBeans = exposeAllBeans;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringImplementation.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringImplementation.java
deleted file mode 100644
index 7780894f56..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringImplementation.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.model;
-
-import org.apache.tuscany.spi.model.Binding;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-import org.apache.tuscany.spi.model.Implementation;
-import org.apache.tuscany.spi.model.Property;
-
-import org.springframework.core.io.Resource;
-
-/**
- * Represents a composite whose implementation type is a Spring application context.
- *
- * @version $$Rev$$ $$Date$$
- */
-public class SpringImplementation extends Implementation<SpringComponentType<BoundServiceDefinition<? extends Binding>,
- BoundReferenceDefinition<? extends Binding>, ? extends Property>> {
-
- private String location;
- private Resource applicationResource;
-
- public SpringImplementation() {
- }
-
- public SpringImplementation(SpringComponentType<
- BoundServiceDefinition<? extends Binding>,
- BoundReferenceDefinition<? extends Binding>,
- ? extends Property> componentType) {
- super(componentType);
- }
-
- /**
- * Returns the path of the Spring application context configuration
- */
- public String getLocation() {
- return location;
- }
-
- /**
- * Sets the path of the Spring application context configuration
- */
- public void setLocation(String location) {
- this.location = location;
- }
-
- /**
- * Returns the Spring configuration resource for the application context
- */
- public Resource getApplicationResource() {
- return applicationResource;
- }
-
- /**
- * Sets the Spring configuration resource for the application context
- */
- public void setApplicationResource(Resource applicationXml) {
- this.applicationResource = applicationXml;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringServiceContract.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringServiceContract.java
deleted file mode 100644
index 3a88991e4b..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/model/SpringServiceContract.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.model;
-
-import org.apache.tuscany.spi.model.ServiceContract;
-
-/**
- * @version $Rev$ $Date$
- */
-public class SpringServiceContract extends ServiceContract {
-
- public SpringServiceContract(String interfaceName) {
- super(interfaceName);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/webapp/ScaWebApplicationContext.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/webapp/ScaWebApplicationContext.java
deleted file mode 100644
index 2284d32201..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/webapp/ScaWebApplicationContext.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.webapp;
-
-import java.io.File;
-import java.net.URL;
-
-import javax.servlet.ServletContext;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-import org.apache.tuscany.container.spring.config.SCANamespaceHandlerResolver;
-import org.apache.tuscany.container.spring.impl.SpringScaAdapter;
-import org.apache.tuscany.container.spring.model.SpringComponentType;
-import org.apache.tuscany.runtime.webapp.WebappRuntime;
-import org.apache.tuscany.runtime.webapp.WebappUtil;
-import org.apache.tuscany.runtime.webapp.WebappUtilImpl;
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
-import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
-import org.springframework.core.io.Resource;
-import org.springframework.sca.ScaAdapterAware;
-import org.springframework.sca.ScaAdapterPostProcessor;
-import org.springframework.util.Assert;
-import org.springframework.web.context.ConfigurableWebApplicationContext;
-import org.springframework.web.context.support.XmlWebApplicationContext;
-
-/**
- * WebApplicationContext implementation that understands SCA extensions.
- * This class is not very complicated, the key issue is getting hold of a reference
- * to the Tuscany runtime which the webapp is using.
- *
- * @author Andy Piper
- */
-public class ScaWebApplicationContext extends XmlWebApplicationContext
- implements ConfigurableWebApplicationContext {
- private WebappRuntime runtime;
- private SpringComponentType componentType;
-
- public ScaWebApplicationContext() {
- }
-
- protected void initBeanDefinitionReader(XmlBeanDefinitionReader beanDefinitionReader) {
-// beanDefinitionReader.setEntityResolver(null);
- beanDefinitionReader
- .setNamespaceHandlerResolver(new SCANamespaceHandlerResolver(getClassLoader(), componentType));
- }
-
- public Resource getResource(String location) {
- Assert.notNull(location, "location is required");
- return super.getResource(location);
- }
-
- /* (non-Javadoc)
- * @see org.springframework.context.support.AbstractApplicationContext#postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory)
- */
- protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
- super.postProcessBeanFactory(beanFactory);
- beanFactory.addBeanPostProcessor(new ScaAdapterPostProcessor
- (new SpringScaAdapter(componentType)));
- beanFactory.ignoreDependencyInterface(ScaAdapterAware.class);
- }
-
- protected void onRefresh() {
- if (runtime != null) { // egregious hack to prevent recursion in refresh()
- return;
- }
- ServletContext servletContext = getServletContext();
- WebappUtil utils = getUtils(servletContext);
-
- try {
- ClassLoader webappClassLoader = Thread.currentThread().getContextClassLoader();
- ClassLoader bootClassLoader = utils.getBootClassLoader(webappClassLoader);
- runtime = utils.getRuntime(bootClassLoader);
- URL systemScdl = utils.getSystemScdl(bootClassLoader);
- URL applicationScdl = utils.getApplicationScdl(webappClassLoader);
-
- runtime.setMonitorFactory(runtime.createDefaultMonitorFactory());
- runtime.setApplicationName(utils.getApplicationName());
- runtime.setServletContext(servletContext);
- runtime.setHostClassLoader(webappClassLoader);
- runtime.setSystemScdl(systemScdl);
- runtime.setApplicationScdl(applicationScdl);
- runtime.setRuntimeInfo(new SpringWebappRuntimeInfo(getApplicationRootDirectory(), this));
- runtime.initialize();
- } catch (TuscanyRuntimeException e) {
- servletContext.log(e.getMessage(), e);
- throw e;
- }
- }
-
- protected WebappUtil getUtils(ServletContext servletContext) {
- return new WebappUtilImpl(servletContext);
- }
-
- protected void onClose() {
- if (runtime != null) {
- runtime.destroy();
- runtime = null;
- }
- }
-
- /**
- * What does this do and why to we need it?
- * @return
- */
- private File getApplicationRootDirectory() {
- String property = System.getProperty("tuscany.applicationRootDir");
- if (property != null) {
- return new File(property);
- }
-
- return new File(System.getProperty("user.dir"));
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/webapp/SpringWebappRuntimeInfo.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/webapp/SpringWebappRuntimeInfo.java
deleted file mode 100644
index a860049462..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/webapp/SpringWebappRuntimeInfo.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.webapp;
-
-import java.io.File;
-import javax.servlet.ServletContext;
-
-import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.support.XmlWebApplicationContext;
-
-import org.apache.tuscany.container.spring.impl.SpringRuntimeInfo;
-import org.apache.tuscany.runtime.webapp.WebappRuntimeInfo;
-
-/**
- * @author Andy Piper
- */
-public class SpringWebappRuntimeInfo extends SpringRuntimeInfo implements WebappRuntimeInfo {
- public SpringWebappRuntimeInfo(File appRootDir, XmlWebApplicationContext applicationContext) {
- super(appRootDir, applicationContext);
- }
-
- public ServletContext getServletContext() {
- return ((WebApplicationContext) getApplicationContext()).getServletContext();
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/DefaultScaAdapter.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/DefaultScaAdapter.java
deleted file mode 100644
index e2071e27c3..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/DefaultScaAdapter.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 11-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca;
-
-/**
- * @author Adrian Colyer
- * @since 2.0
- */
-public class DefaultScaAdapter implements ScaAdapter {
-
- public Object getServiceReference(String referenceName,
- Class referenceType,
- String moduleName,
- String defaultServiceName) {
- // TODO
- return new Object();
- }
-
- public Object getPropertyReference(String propertyName, Class propertyType, String moduleName) {
- // TODO
- return new Object();
- }
-
- public void publishAsService(Object serviceImplementation,
- Class serviceInterface,
- String serviceName,
- String moduleName) {
- // TODO
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapter.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapter.java
deleted file mode 100644
index e5aae6f0a2..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 11-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca;
-
-/**
- * Encapsulates interaction with an SCA runtime
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public interface ScaAdapter {
-
- Object getServiceReference(
- String referenceName,
- Class referenceType,
- String moduleName,
- String defaultServiceName);
-
- Object getPropertyReference(
- String propertyName,
- Class propertyType,
- String moduleName);
-
- void publishAsService(
- Object serviceImplementation,
- Class serviceInterface,
- String serviceName,
- String moduleName);
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapterAware.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapterAware.java
deleted file mode 100644
index abe975c936..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapterAware.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.springframework.sca;
-
-/**
- * /** Interface that enables beans to find the ScaAdapter they are defined with.
- * <p/>
- * Note that in most circumstances there is no need for a bean to implement this interface.
- *
- * @author Andy Piper
- * @since 2.1
- */
-public interface ScaAdapterAware {
- void setScaAdapter(ScaAdapter adapter);
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapterPostProcessor.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapterPostProcessor.java
deleted file mode 100644
index b07be8f452..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaAdapterPostProcessor.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.springframework.sca;
-
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.config.BeanPostProcessor;
-
-/**
- * @author Andy Piper
- * @since 2.1
- */
-public class ScaAdapterPostProcessor implements BeanPostProcessor {
- private ScaAdapter scaAdapter;
-
- public ScaAdapterPostProcessor(ScaAdapter adapter) {
- this.scaAdapter = adapter;
- }
-
- public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
- if (bean instanceof ScaAdapterAware) {
- if (this.scaAdapter == null) {
- throw new IllegalStateException("Cannot satisfy ScaAdapterAware for bean '"
- + beanName + "' without ScaAdapater");
- }
- ((ScaAdapterAware) bean).setScaAdapter(scaAdapter);
- }
- return bean;
- }
-
- public Object postProcessAfterInitialization(Object object, String string) throws BeansException {
- return object;
- }
-
- public ScaAdapter getScaAdapter() {
- return scaAdapter;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaComposite.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaComposite.java
deleted file mode 100644
index e12e763d9f..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaComposite.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca;
-
-import org.springframework.beans.factory.InitializingBean;
-
-/**
- * Bean that represents an Sca composite component. An instance of this bean is created when the &lt;sca:composite
- * module-id="xxx"/&gt; element is declared.
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public class ScaComposite implements InitializingBean {
-
- private String component;
- private ScaAdapter scaAdapter = new DefaultScaAdapter();
-
- public String getComponent() {
- return this.component;
- }
-
- public void setComponent(String component) {
- this.component = component;
- }
-
- public void setScaAdapter(ScaAdapter scaAdapter) {
- this.scaAdapter = scaAdapter;
- }
-
- public void setScaAdapterClass(Class adapterClass) {
- if (!ScaAdapter.class.isAssignableFrom(adapterClass)) {
- throw new IllegalArgumentException(
- "Adapter class '" + adapterClass + "' specified for ScaComposite bean "
- + "does not implement the ScaApapter interface"
- );
- }
- try {
- this.scaAdapter = (ScaAdapter) adapterClass.newInstance();
- } catch (Exception ex) {
- // many exceptions may be thrown by the above, we treat them all
- // the same
- throw new IllegalStateException("Unable to create instance of ScaAdapter class '"
- + adapterClass.getName() + "'", ex);
- }
- }
-
- public ScaAdapter getScaAdapter() {
- return this.scaAdapter;
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
- */
- public void afterPropertiesSet() throws Exception {
- if (this.component == null) {
- throw new IllegalArgumentException("Required property moduleId was not set");
- }
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaPostProcessor.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaPostProcessor.java
deleted file mode 100644
index f96af00584..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaPostProcessor.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.sca;
-
-import java.beans.PropertyDescriptor;
-
-import org.springframework.aop.framework.ProxyFactory;
-import org.springframework.beans.BeansException;
-import org.springframework.beans.PropertyValues;
-import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.core.task.TaskExecutor;
-import org.springframework.sca.intercept.OneWayAdvisor;
-import org.springframework.sca.metadata.DeploymentMetadata;
-import org.springframework.sca.metadata.Injection;
-import org.springframework.sca.metadata.NoSuchServiceException;
-import org.springframework.sca.metadata.ServiceMetadata;
-
-/**
- * Spring bean post processor that looks up service metadata by name for each bean definition and performs SCA
- * injection.
- * <p/>
- * Also performs proxying for OneWay.
- *
- * @author Rod Johnson
- */
-public class ScaPostProcessor implements InstantiationAwareBeanPostProcessor, ApplicationContextAware {
-
- private DeploymentMetadata deploymentMetadata;
-
- private ApplicationContext applicationContext;
-
- private TaskExecutor taskExecutor;
-
- //private ScaAdapter scaAdapter;
-
-
- /**
- * @param taskExecutor The taskExecutor to set.
- */
- public void setTaskExecutor(TaskExecutor taskExecutor) {
- this.taskExecutor = taskExecutor;
- }
-
- // TODO would process side files when container starts up
-
- public void setDeploymentMetadata(DeploymentMetadata deploymentMetadata) {
- this.deploymentMetadata = deploymentMetadata;
- }
-
- /**
- * @param scaAdapter the ScaAdapter for use to export services if necessary
- */
- public void setScaAdapter(ScaAdapter scaAdapter) {
- //this.scaAdapter = scaAdapter;
- }
-
-
- public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
- this.applicationContext = applicationContext;
- }
-
- public Object postProcessBeforeInstantiation(Class beanClass,
- String beanName) throws BeansException {
- return null;
- }
-
- public boolean postProcessAfterInstantiation(Object bean, String beanName)
- throws BeansException {
- try {
- ServiceMetadata smd = deploymentMetadata.getServiceMetadata(beanName);
- doScaInjection(bean, smd);
- } catch (NoSuchServiceException ex) {
- //
- }
- return true;
- }
-
- public PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean,
- String beanName) throws BeansException {
- return pvs;
- }
-
- public PropertyValues postProcessPropertyValues(PropertyValues propertyValues, Object object, String string)
- throws BeansException {
- return propertyValues;
- }
-
- protected void doScaInjection(Object bean, ServiceMetadata smd) {
- for (Injection injection : smd.getInjections()) {
- injection.apply(applicationContext, bean);
- }
- }
-
- public Object postProcessBeforeInitialization(Object bean, String beanName)
- throws BeansException {
- return bean;
- }
-
- public Object postProcessAfterInitialization(Object bean, String beanName)
- throws BeansException {
- try {
- ServiceMetadata smd = deploymentMetadata.getServiceMetadata(beanName);
- return createScaProxy(bean, smd);
- } catch (NoSuchServiceException ex) {
- return bean;
- }
-
- // TODO validate required injections here or earlier
-
- // TODO publish if necessary, using adapter
- }
-
- protected Object createScaProxy(Object bean, ServiceMetadata smd) {
- ProxyFactory pf = new ProxyFactory(bean);
- for (Class intf : smd.getServiceInterfaces()) {
- pf.addInterface(intf);
- }
-
-//pf.addAdvisor(ExposeInvocationInterceptor.ADVISOR);
-//pf.addAdvisor(new ExposeBeanNameAdvisor(smd.getServiceName()));
- // TODO enforce call by value
-
- if (!smd.getOneWayMethods().isEmpty()) {
- pf.addAdvisor(new OneWayAdvisor(smd, this.taskExecutor));
- }
-
- return pf.getProxy();
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaPropertyProxyFactoryBean.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaPropertyProxyFactoryBean.java
deleted file mode 100644
index e89072466a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaPropertyProxyFactoryBean.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca;
-
-import org.springframework.beans.factory.FactoryBean;
-import org.springframework.beans.factory.InitializingBean;
-
-/**
- * Factory bean that returns a reference to an SCA property obtained by asking the SCA runtime for the property with the
- * given name for the given component.
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public class ScaPropertyProxyFactoryBean implements InitializingBean, FactoryBean {
-
- /**
- * the type of the property
- */
- private Class propertyType;
-
- /**
- * the name of the property to look up
- */
- private String propertyName;
-
- /**
- * the SCA component we should present ourselves as when asking for a service reference
- */
- private ScaComposite scaComposite;
-
- private Object resolvedPropertyVal;
-
- public void setPropertyType(Class serviceType) {
- this.propertyType = serviceType;
- }
-
- public Class getPropertyType() {
- return this.propertyType;
- }
-
- public void setPropertyName(String name) {
- this.propertyName = name;
- }
-
- public String getPropertyName() {
- return this.propertyName;
- }
-
- public void setScaComposite(ScaComposite scaComposite) {
- this.scaComposite = scaComposite;
- }
-
- public ScaComposite getScaComposite() {
- return this.scaComposite;
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
- */
- public void afterPropertiesSet() throws Exception {
- if (this.propertyType == null) {
- throw new IllegalArgumentException("Required property serviceType was not set");
- }
- if (this.scaComposite == null) {
- throw new IllegalArgumentException("Required property scaComposite was not set");
- }
- if (this.propertyName == null) {
- throw new IllegalArgumentException("Required property referenceName was not set");
- }
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.FactoryBean#getObject()
- */
- public Object getObject() throws Exception {
- if (this.resolvedPropertyVal != null) {
- return this.resolvedPropertyVal;
- }
-
- String moduleName = this.scaComposite.getComponent();
- // TODO: AMC is there any merit in proxying this with a lazy target source?
- Object propertyVal =
- this.scaComposite.getScaAdapter().getPropertyReference(this.propertyName, this.propertyType, moduleName);
- if (!this.propertyType.isAssignableFrom(propertyVal.getClass())) {
- throw new IllegalStateException("Property value '" + propertyVal.toString() + "'"
- + " of type '" + propertyVal.getClass().getName() + "' "
- + " is not of expected type '" + this.propertyType.getName() + "'");
- }
- this.resolvedPropertyVal = propertyVal;
- return this.resolvedPropertyVal;
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.FactoryBean#getObjectType()
- */
- public Class getObjectType() {
- return this.propertyType;
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.FactoryBean#isSingleton()
- */
- public boolean isSingleton() {
- return true;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaServiceExporter.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaServiceExporter.java
deleted file mode 100644
index 0155dd9646..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaServiceExporter.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca;
-
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.BeanFactory;
-import org.springframework.beans.factory.BeanFactoryAware;
-import org.springframework.beans.factory.InitializingBean;
-
-/**
- * Exposes a bean instance to SCA to using the given service name.
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public class ScaServiceExporter implements InitializingBean, BeanFactoryAware, ScaAdapterAware {
-
- /**
- * the name of the service we want to advertise
- */
- private String serviceName;
-
- /**
- * the type the service should be published with
- */
- private Class serviceType;
-
- /**
- * the bean to be published
- */
- private Object target;
-
- /**
- * for resolving the bean name
- */
- private BeanFactory beanFactory;
- private ScaAdapter scaAdapter;
-
- public void setServiceName(String serviceName) {
- this.serviceName = serviceName;
- }
-
- public String getServiceName() {
- return this.serviceName;
- }
-
- public void setServiceType(Class serviceType) {
- this.serviceType = serviceType;
- }
-
- public Class getServiceType() {
- return this.serviceType;
- }
-
- public void setTarget(Object targetBean) {
- this.target = targetBean;
- }
-
- public Object getTarget() {
- return this.target;
- }
-
- public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
- this.beanFactory = beanFactory;
- }
-
- public void afterPropertiesSet() throws Exception {
- if (this.serviceType == null) {
- throw new IllegalArgumentException("Required property serviceType was not set");
- }
- if (this.target == null) {
- throw new IllegalArgumentException("Required property target was not set");
- }
- if (this.beanFactory == null) {
- throw new IllegalArgumentException("Required property beanFactory was not set");
- }
- if (this.serviceName == null) {
- throw new IllegalArgumentException("Required property serviceName was not set");
- }
- publishScaService();
- }
-
- private void publishScaService() {
- scaAdapter.publishAsService(target, serviceType, serviceName, null);
- }
-
- public void setScaAdapter(ScaAdapter adapter) {
- this.scaAdapter = adapter;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaServiceProxyFactoryBean.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaServiceProxyFactoryBean.java
deleted file mode 100644
index 01ca5671d4..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/ScaServiceProxyFactoryBean.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca;
-
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.FactoryBean;
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-
-/**
- * Factory bean that returns a reference to an SCA service obtained by asking the SCA runtime for the service with the
- * given name for the given component.
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public class ScaServiceProxyFactoryBean
- implements InitializingBean, FactoryBean, ApplicationContextAware, ScaAdapterAware {
-
- /**
- * the public interface type of the service (may be a class...)
- */
- private Class serviceType;
-
- /**
- * the name of the reference to look up
- */
- private String referenceName;
-
- /**
- * the default service name to resolve the reference too
- */
- private String defaultServiceName;
-
- private Object resolvedServiceReference;
- private ApplicationContext applicationContext;
- //private ScaAdapter scaAdapter;
-
- public void setServiceType(Class serviceType) {
- this.serviceType = serviceType;
- }
-
- public Class getServiceType() {
- return this.serviceType;
- }
-
- public void setReferenceName(String name) {
- this.referenceName = name;
- }
-
- public String getReferenceName() {
- return this.referenceName;
- }
-
- public void setDefaultServiceName(String defaultService) {
- this.defaultServiceName = defaultService;
- }
-
- public String getDefaultServiceName() {
- return this.defaultServiceName;
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
- */
- public void afterPropertiesSet() throws Exception {
- if (this.serviceType == null) {
- throw new IllegalArgumentException("Required property serviceType was not set");
- }
- if (this.referenceName == null) {
- throw new IllegalArgumentException("Required property referenceName was not set");
- }
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.FactoryBean#getObject()
- */
- public Object getObject() throws Exception {
- if (this.resolvedServiceReference != null) {
- return this.resolvedServiceReference;
- }
-
- // TODO: AMC is there any merit in proxying this with a lazy target source?
- // should the returned service ref be proxied? Only seems to add value
- // if SCA gives us any lifecycle events we can subscribe to and take
- // meaningful action on...
- // See OsgiServiceProxyFactoryBean for an example of how to do the
- // proxying if needed.
- Object scaServiceRef;
- if (this.applicationContext.getParent() == null) {
- return null;
- }
-
- if (!this.applicationContext.getParent().containsBean(this.referenceName)) {
- return new Object();
- //scaServiceRef = this.applicationContext.getParent().getBean(this.defaultServiceName);
- } else {
- scaServiceRef = this.applicationContext.getParent().getBean(this.referenceName);
- }
- if (!this.serviceType.isAssignableFrom(scaServiceRef.getClass())) {
- throw new IllegalStateException("...");
- }
- this.resolvedServiceReference = scaServiceRef;
- return this.resolvedServiceReference;
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.FactoryBean#getObjectType()
- */
- public Class getObjectType() {
- return this.serviceType;
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.FactoryBean#isSingleton()
- */
- public boolean isSingleton() {
- return false;
- }
-
- public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
- this.applicationContext = applicationContext;
- }
-
- public void setScaAdapter(ScaAdapter adapter) {
- // this.scaAdapter = adapter;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaCompositeBeanDefinitionParser.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaCompositeBeanDefinitionParser.java
deleted file mode 100644
index 9c6ac633f7..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaCompositeBeanDefinitionParser.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca.config;
-
-import org.w3c.dom.Element;
-
-import org.springframework.beans.MutablePropertyValues;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.beans.factory.xml.BeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.sca.ScaComposite;
-
-/**
- * Parser for &lt;sca:composite&gt; elements
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public class ScaCompositeBeanDefinitionParser implements BeanDefinitionParser {
-
- static final String SCA_COMPOSITE_BEAN_NAME = "scaComposite";
- private static final String MODULE_ATTRIBUTE_NAME = "component";
- private static final String MODULE_ID = "component";
- private static final String ADAPTER_ATTRIBUTE = "sca-adapter-class";
- private static final String ADAPTER_CLASS_PROPERTY = "scaAdapterClass";
-
- public BeanDefinition parse(Element element, ParserContext parserContext) {
- BeanDefinitionRegistry registry = parserContext.getRegistry();
- if (registry.containsBeanDefinition(SCA_COMPOSITE_BEAN_NAME)) {
- throw new IllegalArgumentException(
- "At most one <sca:composite> element can be declared in a bean factory");
- }
- BeanDefinition beanDef = createScaCompositeBeanDefinition(element);
- registry.registerBeanDefinition(SCA_COMPOSITE_BEAN_NAME, beanDef);
- return beanDef;
- }
-
- private BeanDefinition createScaCompositeBeanDefinition(Element element) {
- RootBeanDefinition beanDefinition = new RootBeanDefinition();
- beanDefinition.setBeanClass(ScaComposite.class);
- MutablePropertyValues props = new MutablePropertyValues();
- props.addPropertyValue(MODULE_ID, element.getAttribute(MODULE_ATTRIBUTE_NAME));
- if (element.hasAttribute(ADAPTER_ATTRIBUTE)) {
- props.addPropertyValue(ADAPTER_CLASS_PROPERTY, element.getAttribute(ADAPTER_ATTRIBUTE));
- }
- beanDefinition.setPropertyValues(props);
- return beanDefinition;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaContextBuilder.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaContextBuilder.java
deleted file mode 100644
index 3446aaf462..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaContextBuilder.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca.config;
-
-import org.springframework.beans.PropertyValue;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.sca.ScaAdapter;
-import org.springframework.sca.ScaComposite;
-
-/**
- * @author Hal Hildebrand Date: Apr 11, 2006 Time: 4:33:33 PM
- */
-public class ScaContextBuilder {
- private static final String MODULE_ID = "moduleId";
-
- private static final String SCA_ADAPTER = "scaAdapter";
-
- private static final String SCA_COMPOSITE_BEAN_NAME = "scaComposite";
-
- private String moduleId;
-
- private ScaAdapter scaAdapter;
-
- public String getModuleId() {
- return this.moduleId;
- }
-
- public void setModuleId(String moduleId) {
- this.moduleId = moduleId;
- }
-
- public void setScaAdapter(ScaAdapter scaAdapter) {
- this.scaAdapter = scaAdapter;
- }
-
- public ScaAdapter getScaAdapter() {
- return this.scaAdapter;
- }
-
- public ApplicationContext construct() {
- GenericApplicationContext parent = new GenericApplicationContext();
- BeanDefinition bd = new RootBeanDefinition(ScaComposite.class, true);
-
- bd.getPropertyValues().addPropertyValue(new PropertyValue(MODULE_ID, moduleId));
- bd.getPropertyValues().addPropertyValue(new PropertyValue(SCA_ADAPTER, scaAdapter));
- parent.registerBeanDefinition(SCA_COMPOSITE_BEAN_NAME, bd);
- parent.refresh();
- return parent;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaNamespaceHandler.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaNamespaceHandler.java
deleted file mode 100644
index 878267813a..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaNamespaceHandler.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca.config;
-
-import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
-
-/**
- * Handler for the &lt;sca:&gt; namespace. Handles: <ul> <li>&lt;sca:composite module="xxxxx"/&gt;</li>
- * <li>&lt;sca:reference name="xxx" type="yyy" default-service="zzz"/&gt;</li> <li>&lt;sca:property name="xxx"
- * type="yyy"/&gt;</li> <li>&lt;sca:service name="xxx" type="yyyy" target="zzz"/&gt; </ul>
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public class ScaNamespaceHandler extends NamespaceHandlerSupport {
-
- public ScaNamespaceHandler() {
- // FIXME JFM
- init();
- }
-
- public final void init() {
- registerBeanDefinitionParser("composite", new ScaCompositeBeanDefinitionParser());
- registerBeanDefinitionParser("reference", new ScaReferenceBeanDefinitionParser());
- registerBeanDefinitionParser("property", new ScaPropertyBeanDefinitionParser());
- registerBeanDefinitionParser("service", new ScaServiceBeanDefinitionParser());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaPropertyBeanDefinitionParser.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaPropertyBeanDefinitionParser.java
deleted file mode 100644
index 55413b69da..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaPropertyBeanDefinitionParser.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca.config;
-
-import org.w3c.dom.Element;
-
-import org.springframework.beans.MutablePropertyValues;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.beans.factory.xml.BeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.sca.ScaPropertyProxyFactoryBean;
-
-/**
- * Parser for the &lt;sca:property/&gt; element
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public class ScaPropertyBeanDefinitionParser implements BeanDefinitionParser {
-
- private static final String PROPERTY_NAME_ATTRIBUTE = "name";
- private static final String PROPERTY_NAME_PROPERTY = "propertyName";
- private static final String PROPERTY_TYPE_PROPERTY = "propertyType";
- private static final String TYPE_ATTRIBUTE = "type";
- private static final String ID_ATTRIBUTE = "id";
-
- public BeanDefinition parse(Element element, ParserContext parserContext) {
- // needs service type, reference name, sca component, and optionally default service name
- BeanDefinitionRegistry registry = parserContext.getRegistry();
- String beanName = element.getAttribute(ID_ATTRIBUTE);
- BeanDefinition beanDef = createBeanDefinition(element);
- registry.registerBeanDefinition(beanName, beanDef);
- return beanDef;
- }
-
- private BeanDefinition createBeanDefinition(Element element) {
- RootBeanDefinition beanDefinition = new RootBeanDefinition();
- beanDefinition.setBeanClass(ScaPropertyProxyFactoryBean.class);
- MutablePropertyValues props = new MutablePropertyValues();
- props.addPropertyValue(PROPERTY_NAME_PROPERTY, element.getAttribute(PROPERTY_NAME_ATTRIBUTE));
- props.addPropertyValue(PROPERTY_TYPE_PROPERTY, element.getAttribute(TYPE_ATTRIBUTE));
- beanDefinition.setPropertyValues(props);
- return beanDefinition;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaReferenceBeanDefinitionParser.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaReferenceBeanDefinitionParser.java
deleted file mode 100644
index 4f4d196571..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaReferenceBeanDefinitionParser.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca.config;
-
-import org.w3c.dom.Element;
-
-import org.springframework.beans.MutablePropertyValues;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.beans.factory.xml.BeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.sca.ScaServiceProxyFactoryBean;
-
-/**
- * Parser for the &lt;sca:reference&gt; element
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public class ScaReferenceBeanDefinitionParser implements BeanDefinitionParser {
-
- private static final String REFERENCE_NAME_ATTRIBUTE = "name";
- private static final String REFERENCE_NAME_PROPERTY = "referenceName";
- private static final String TYPE_ATTRIBUTE = "type";
- private static final String SERVICE_TYPE_PROPERTY = "serviceType";
- private static final String DEFAULT_SERVICE_ATTRIBUTE = "default";
- private static final String DEFAULT_SERVICE_PROPERTY = "defaultServiceName";
-
- public BeanDefinition parse(Element element, ParserContext parserContext) {
- // needs service type, reference name, sca component, and optionally default service name
- BeanDefinitionRegistry registry = parserContext.getRegistry();
- String referenceName = element.getAttribute(REFERENCE_NAME_ATTRIBUTE);
- BeanDefinition beanDef = createBeanDefinition(element);
- registry.registerBeanDefinition(referenceName, beanDef);
- return beanDef;
- }
-
- private BeanDefinition createBeanDefinition(Element element) {
- RootBeanDefinition beanDefinition = new RootBeanDefinition();
- beanDefinition.setBeanClass(ScaServiceProxyFactoryBean.class);
- MutablePropertyValues props = new MutablePropertyValues();
- props.addPropertyValue(REFERENCE_NAME_PROPERTY, element.getAttribute(REFERENCE_NAME_ATTRIBUTE));
- props.addPropertyValue(SERVICE_TYPE_PROPERTY, element.getAttribute(TYPE_ATTRIBUTE));
- if (element.hasAttribute(DEFAULT_SERVICE_ATTRIBUTE)) {
- props.addPropertyValue(DEFAULT_SERVICE_PROPERTY, element.getAttribute(DEFAULT_SERVICE_ATTRIBUTE));
- }
- beanDefinition.setPropertyValues(props);
- return beanDefinition;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaServiceBeanDefinitionParser.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaServiceBeanDefinitionParser.java
deleted file mode 100644
index 5867236faa..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/config/ScaServiceBeanDefinitionParser.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * 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.
- *
- * Created on 10-Apr-2006 by Adrian Colyer
- */
-package org.springframework.sca.config;
-
-import org.w3c.dom.Element;
-
-import org.springframework.beans.MutablePropertyValues;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.config.RuntimeBeanReference;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.beans.factory.xml.BeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.sca.ScaServiceExporter;
-
-/**
- * Parser for the &lt;sca:service/&gt; element
- *
- * @author Adrian Colyer
- * @since 2.0
- */
-public class ScaServiceBeanDefinitionParser implements BeanDefinitionParser {
-
- private static final String SERVICE_NAME_ATTRIBUTE = "name";
- private static final String TYPE_ATTRIBUTE = "type";
- private static final String TARGET_ATTRIBUTE = "target";
- private static final String SERVICE_NAME_PROPERTY = "serviceName";
- private static final String SERVICE_TYPE_PROPERTY = "serviceType";
- private static final String TARGET_PROPERTY = "target";
-
- public BeanDefinition parse(Element element, ParserContext parserContext) {
- BeanDefinitionRegistry registry = parserContext.getRegistry();
- String serviceName = element.getAttribute(SERVICE_NAME_ATTRIBUTE);
- BeanDefinition beanDef = createBeanDefinition(element);
- registry.registerBeanDefinition(serviceName, beanDef);
- return beanDef;
- }
-
- private BeanDefinition createBeanDefinition(Element element) {
- RootBeanDefinition beanDefinition = new RootBeanDefinition();
- beanDefinition.setBeanClass(ScaServiceExporter.class);
- MutablePropertyValues props = new MutablePropertyValues();
- props.addPropertyValue(SERVICE_TYPE_PROPERTY, element.getAttribute(TYPE_ATTRIBUTE));
- props.addPropertyValue(TARGET_PROPERTY, new RuntimeBeanReference(element.getAttribute(TARGET_ATTRIBUTE)));
- props.addPropertyValue(SERVICE_NAME_PROPERTY, element.getAttribute(SERVICE_NAME_ATTRIBUTE));
- beanDefinition.setPropertyValues(props);
- return beanDefinition;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/intercept/OneWayAdvisor.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/intercept/OneWayAdvisor.java
deleted file mode 100644
index 60bf2a344d..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/intercept/OneWayAdvisor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.sca.intercept;
-
-import java.lang.reflect.Method;
-
-import org.aopalliance.intercept.MethodInterceptor;
-import org.aopalliance.intercept.MethodInvocation;
-import org.springframework.aop.framework.ReflectiveMethodInvocation;
-import org.springframework.aop.support.DefaultPointcutAdvisor;
-import org.springframework.aop.support.StaticMethodMatcherPointcut;
-import org.springframework.core.task.TaskExecutor;
-import org.springframework.sca.metadata.ServiceMetadata;
-
-/**
- * An AOP Alliance MethodInterceptor, rather than AspectJ aspect, as there's no value in typed pointcuts. Oh, if it were
- * only annotations...
- *
- * @author Rod Johnson
- */
-
-public class OneWayAdvisor extends DefaultPointcutAdvisor {
-
- private TaskExecutor taskExecutor;
-
- private final ServiceMetadata smd;
-
- public OneWayAdvisor(final ServiceMetadata aSmd, TaskExecutor taskExecutor) {
- this.smd = aSmd;
- setPointcut(new StaticMethodMatcherPointcut() {
- public boolean matches(Method method, Class targetClass) {
- for (Method m : smd.getOneWayMethods()) {
- if (m.getName().equals(method.getName())) {
- return true;
- }
- }
- return false;
- }
- });
- setAdvice(new OneWayInterceptor());
- this.taskExecutor = taskExecutor;
- }
-
-
- private class OneWayInterceptor implements MethodInterceptor {
- public Object invoke(MethodInvocation mi) throws Throwable {
- try {
- // TODO this is not right
- ReflectiveMethodInvocation rmi = (ReflectiveMethodInvocation) mi;
- final MethodInvocation clone = rmi.invocableClone();
- System.out.println("EXECUTE DEFERRED");
- taskExecutor.execute(new Runnable() {
- public void run() {
- try {
- clone.proceed();
- } catch (Throwable ex) {
- // TODO
- throw new UnsupportedOperationException();
- }
- }
- });
- } catch (Throwable t) {
- t.printStackTrace();
- }
- return null;
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/AnnotationServiceMetadata.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/AnnotationServiceMetadata.java
deleted file mode 100644
index 9a04831ab8..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/AnnotationServiceMetadata.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.sca.metadata;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.osoa.sca.annotations.ComponentName;
-import org.osoa.sca.annotations.OneWay;
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Service;
-
-import org.springframework.util.ReflectionUtils;
-
-/**
- * TODO not the way to get this
- *
- * @author Rod Johnson
- */
-public class AnnotationServiceMetadata implements ServiceMetadata {
-
- private final String name;
-
- private final Class<?> serviceClass;
-
- public AnnotationServiceMetadata(String name, Class<?> serviceClass) throws NoSuchServiceException {
- if (!serviceClass.isAnnotationPresent(Service.class)) {
- throw new NoSuchServiceException();
- }
- this.name = name;
- this.serviceClass = serviceClass;
- }
-
- public String getServiceName() {
- return name;
- }
-
- public Class<?>[] getServiceInterfaces() {
- return serviceClass.getAnnotation(Service.class).interfaces();
- }
-
- public List<Method> getOneWayMethods() {
- List<Method> oneWayMethods = new LinkedList<Method>();
- for (Method m : serviceClass.getMethods()) {
- if (m.isAnnotationPresent(OneWay.class)) {
- oneWayMethods.add(m);
- }
- }
-
- // TODO fields
-
- return oneWayMethods;
- }
-
- public List<Injection> getInjections() {
- final List<Injection> injections = new LinkedList<Injection>();
- for (Method m : serviceClass.getMethods()) {
- if (m.isAnnotationPresent(Property.class)) {
- injections.add(new MethodInjection(m));
- }
- }
-
- // TODO fields propertly
-
- ReflectionUtils.doWithFields(serviceClass, new ReflectionUtils.FieldCallback() {
- public void doWith(Field f) throws IllegalArgumentException {
- if (f.isAnnotationPresent(ComponentName.class)) {
- Injection componentNameInjection = new FieldInjection(f);
- componentNameInjection.setLiteralValue(name);
- injections.add(componentNameInjection);
- }
- }
- });
-
- return injections;
- }
-
- // TODO reference
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/BeanFactoryDeploymentMetadata.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/BeanFactoryDeploymentMetadata.java
deleted file mode 100644
index b819ad8f8d..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/BeanFactoryDeploymentMetadata.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.sca.metadata;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.BeanFactory;
-import org.springframework.beans.factory.BeanFactoryAware;
-
-/**
- * DeploymentMetadata implementation backed by Spring BeanFactory metadata
- *
- * @author Rod Johnson
- */
-public class BeanFactoryDeploymentMetadata implements BeanFactoryAware, DeploymentMetadata {
-
- private BeanFactory beanFactory;
-
- private Map<String, ServiceMetadata> serviceNameToMetadataMap = new HashMap<String, ServiceMetadata>();
-
- public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
- this.beanFactory = beanFactory;
- }
-
-
- /* (non-Javadoc)
- * @see org.springframework.sca.metadata.DeploymentMetadata#getServiceMetadata(java.lang.String)
- */
- public synchronized ServiceMetadata getServiceMetadata(String serviceName) throws NoSuchServiceException {
- ServiceMetadata sm = serviceNameToMetadataMap.get(serviceName);
- if (sm == null) {
- Class clazz = beanFactory.getType(serviceName);
- sm = new AnnotationServiceMetadata(serviceName, clazz);
- serviceNameToMetadataMap.put(serviceName, sm);
- }
- return sm;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/DeploymentMetadata.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/DeploymentMetadata.java
deleted file mode 100644
index 950e5e3786..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/DeploymentMetadata.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.sca.metadata;
-
-/**
- * Source of ServiceMetadata by name
- *
- * @author Rod Johnson
- */
-public interface DeploymentMetadata {
-
- ServiceMetadata getServiceMetadata(String serviceName) throws NoSuchServiceException;
-
-} \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/FieldInjection.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/FieldInjection.java
deleted file mode 100644
index 3d9f1b6e79..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/FieldInjection.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.sca.metadata;
-
-import java.lang.reflect.Field;
-
-import org.osoa.sca.annotations.Reference;
-
-/**
- * @author Rod Johnson
- */
-public class FieldInjection extends Injection {
-
- private final Field field;
-
- public FieldInjection(Field field, String lookupName) {
- super(lookupName);
- this.field = field;
- }
-
- public FieldInjection(Field field) {
- Reference annotation = field.getAnnotation(Reference.class);
-
- this.field = field;
-
- if (annotation == null) {
- //throw new IllegalArgumentException("Field " + field + " not annotated");
- return;
- }
-
- if ("".equals(annotation.name())) {
- setLookupName(field.getName());
- } else {
- setLookupName(annotation.name());
- }
- }
-
- @Override
- protected void injectValue(Object target, Object value) {
- try {
- if (!field.isAccessible()) {
- field.setAccessible(true);
- }
- field.set(target, value);
- } catch (IllegalArgumentException ex) {
- // TODO
- throw new UnsupportedOperationException();
- } catch (IllegalAccessException ex) {
- // TODO
- ex.printStackTrace();
- throw new UnsupportedOperationException();
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/Injection.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/Injection.java
deleted file mode 100644
index 2e81516d56..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/Injection.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.sca.metadata;
-
-import org.springframework.beans.factory.BeanFactory;
-
-/**
- * @author Rod Johnson
- */
-public abstract class Injection {
-
- private String lookupName;
-
- /**
- * Is it a literal value?
- */
- private boolean literal;
-
- /**
- * Literal value if it's a literal
- */
- private Object literalValue;
-
- protected Injection() {
-
- }
-
- protected Injection(String lookupName) {
- this.lookupName = lookupName;
- }
-
- public Object getLiteralValue() {
- return literalValue;
- }
-
- public void setLiteralValue(Object literalValue) {
- this.literal = true;
- this.literalValue = literalValue;
- }
-
- public boolean isLiteral() {
- return literal;
- }
-
- protected void setLookupName(String lookupName) {
- this.lookupName = lookupName;
- }
-
- public String getLookupName() {
- return lookupName;
- }
-
- public void apply(BeanFactory owner, Object target) {
- Object value = literalValue;
- if (!isLiteral()) {
- value = owner.getBean(lookupName);
- }
- injectValue(target, value);
- }
-
- protected abstract void injectValue(Object target, Object value);
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/MethodInjection.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/MethodInjection.java
deleted file mode 100644
index df01d1428d..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/MethodInjection.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.sca.metadata;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.osoa.sca.annotations.Property;
-
-/**
- * @author Rod Johnson
- */
-public class MethodInjection extends Injection {
-
- private final Method method;
-
- public MethodInjection(Method method, String lookupName) {
- super(lookupName);
- this.method = method;
- }
-
- public MethodInjection(Method method) {
- // TODO reference also
- Property annotation = method.getAnnotation(Property.class);
- if (annotation == null) {
- throw new IllegalArgumentException("Method " + method + " not annotated");
- }
- this.method = method;
- if ("".equals(annotation.name())) {
- setLookupName(method.getName());
- } else {
- setLookupName(annotation.name());
- }
- }
-
- @Override
- protected void injectValue(Object target, Object value) {
- try {
- method.invoke(target, value);
- } catch (IllegalArgumentException ex) {
- // TODO
- throw new UnsupportedOperationException();
- } catch (IllegalAccessException ex) {
- // TODO
- throw new UnsupportedOperationException();
- } catch (InvocationTargetException ex) {
- // TODO
- throw new UnsupportedOperationException();
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/NoSuchServiceException.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/NoSuchServiceException.java
deleted file mode 100644
index b7ffdfeee6..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/NoSuchServiceException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.sca.metadata;
-
-/**
- * @author Rod Johnson
- */
-public class NoSuchServiceException extends Exception {
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/ServiceMetadata.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/ServiceMetadata.java
deleted file mode 100644
index 5d23c499e4..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/java/org/springframework/sca/metadata/ServiceMetadata.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2002-2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.sca.metadata;
-
-import java.lang.reflect.Method;
-import java.util.List;
-
-/**
- * Metadata for an SCA component.
- *
- * @author Rod Johnson
- */
-public interface ServiceMetadata {
-
- /**
- * Return the service name
- *
- * @return the service name of the component
- */
- String getServiceName();
-
- /**
- * Return the service interfaces implemented by the component
- *
- * @return interfaces implemented by the component
- */
- Class<?>[] getServiceInterfaces();
-
- /**
- * Return a list of OneWay methods
- *
- * @return never returns null
- */
- List<Method> getOneWayMethods();
-
- /**
- * Return a list of SCA injections
- * @return a list of SCA injections. Never returns null.
- */
- List<Injection> getInjections();
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/sca/spring.system.scdl b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/sca/spring.system.scdl
deleted file mode 100644
index cbd7138f0d..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/sca/spring.system.scdl
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<!--
- Spring implementation extension configuration for the launcher environment.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
-
- name="org.apache.tuscany.launcher.SpringImplementation">
-
- <component name="spring.implementationLoader">
- <system:implementation.system class="org.apache.tuscany.container.spring.impl.SpringImplementationLoader"/>
- </component>
-
- <component name="spring.componentTypeLoader">
- <system:implementation.system class="org.apache.tuscany.container.spring.impl.SpringComponentTypeLoader"/>
- </component>
-
- <component name="spring.componentBuilder">
- <system:implementation.system class="org.apache.tuscany.container.spring.impl.SpringCompositeBuilder"/>
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/spring.handlers b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/spring.handlers
deleted file mode 100644
index 689b49e2ae..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/spring.handlers
+++ /dev/null
@@ -1,3 +0,0 @@
-http\://www.springframework.org/schema/sca=org.springframework.sca.config.ScaNamespaceHandler
-
-
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/spring.schemas b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/spring.schemas
deleted file mode 100644
index 33f7004be9..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/META-INF/spring.schemas
+++ /dev/null
@@ -1 +0,0 @@
-http\://www.springframework.org/schema/sca/spring-sca.xsd=org/springframework/sca/xml/spring-sca.xsd
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd b/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd
deleted file mode 100644
index b4eeadbb74..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<xsd:schema xmlns="http://www.springframework.org/schema/sca"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- attributeFormDefault="unqualified"
- elementFormDefault="qualified"
- targetNamespace="http://www.springframework.org/schema/sca">
-
- <xsd:element name="composite">
- <xsd:complexType>
- <xsd:attribute name="component" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="sca-adapter-class" use="optional">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="reference">
- <xsd:complexType>
- <xsd:attribute name="name" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="type" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="default" use="optional">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="property">
- <xsd:complexType>
- <xsd:attribute name="id" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="name" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="type" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="service">
- <xsd:complexType>
- <xsd:attribute name="name" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="type" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- <xsd:attribute name="target" use="required">
- <xsd:simpleType>
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
-</xsd:schema>
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringConfigSchemaTestCase.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringConfigSchemaTestCase.java
deleted file mode 100644
index 80b22d6784..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringConfigSchemaTestCase.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring;
-
-import junit.framework.TestCase;
-import org.apache.tuscany.container.spring.config.ScaApplicationContext;
-import org.apache.tuscany.container.spring.mock.TestReference;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.sca.ScaServiceExporter;
-import org.springframework.sca.ScaServiceProxyFactoryBean;
-
-/**
- * Tests the SCA extensible schema elements for Spring's XML configuration files
- *
- * @version $$Rev$$ $$Date$$
- */
-
-public class SpringConfigSchemaTestCase extends TestCase {
-
- private ConfigurableApplicationContext applicationContext;
-
- public void setUp() {
- applicationContext =
- new ScaApplicationContext(null,
- new ClassPathResource("org/apache/tuscany/container/spring/SpringConfigSchemaTest.xml"), null);
- }
-
- public void testSCAService() {
- ScaServiceExporter service = (ScaServiceExporter) applicationContext.getBean("fooService");
- // FIXME andyp -- this is not really right.
-// TestBean service = (TestBean) applicationContext.getBean("fooService");
-// assertEquals("call me", service.echo("call me"));
- }
-
- public void testSCAReference() {
- ScaServiceProxyFactoryBean pf = (ScaServiceProxyFactoryBean) applicationContext.getBean("&fooReference");
- assertEquals("fooReference", pf.getReferenceName());
- TestReference ref = (TestReference) applicationContext.getBean("fooReference");
-// assertNotNull(ref);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringTestUtils.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringTestUtils.java
deleted file mode 100644
index 3d07c753de..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringTestUtils.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring;
-
-import org.apache.tuscany.spi.QualifiedName;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.builder.Connector;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.WireService;
-
-import org.apache.tuscany.container.spring.mock.TestBeanImpl;
-import org.apache.tuscany.test.ArtifactFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.context.support.GenericApplicationContext;
-
-/**
- * @version $$Rev$$ $$Date$$
- */
-
-public final class SpringTestUtils {
- private SpringTestUtils() {
- }
-
- public static <T> Service createService(String name,
- Class<T> serviceInterface,
- CompositeComponent parent,
- WireService wireService) throws InvalidServiceContractException {
- Service service = new ServiceExtension(name, serviceInterface, parent, wireService);
- InboundWire inboundWire = ArtifactFactory.createInboundWire(name, serviceInterface);
- OutboundWire outboundWire = ArtifactFactory.createOutboundWire(name, serviceInterface);
- ArtifactFactory.terminateWire(outboundWire);
- service.setInboundWire(inboundWire);
- service.setOutboundWire(outboundWire);
- outboundWire.setTargetName(new QualifiedName("foo"));
- Connector connector = ArtifactFactory.createConnector();
- connector.connect(service);
- ArtifactFactory.terminateWire(inboundWire);
- return service;
- }
-
-
- public static GenericApplicationContext createContext() {
- GenericApplicationContext ctx = new GenericApplicationContext();
- BeanDefinition definition = new RootBeanDefinition(TestBeanImpl.class);
- ctx.registerBeanDefinition("foo", definition);
- return ctx;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ReferenceInvocationTestCase.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ReferenceInvocationTestCase.java
deleted file mode 100644
index ff5a564ee8..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ReferenceInvocationTestCase.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import org.apache.tuscany.spi.component.Reference;
-
-import junit.framework.TestCase;
-import org.apache.tuscany.container.spring.mock.TestBean;
-import org.apache.tuscany.container.spring.mock.TestBeanImpl;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import org.springframework.beans.PropertyValue;
-import org.springframework.beans.factory.config.RuntimeBeanReference;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.StaticApplicationContext;
-
-/**
- * Verifies wiring from a Spring bean to an SCA composite reference
- *
- * @version $$Rev$$ $$Date$$
- */
-public class ReferenceInvocationTestCase extends TestCase {
-
- public void testInvocation() throws Exception {
- AbstractApplicationContext ctx = createSpringContext();
- SpringCompositeComponent parent = new SpringCompositeComponent("spring", ctx, null, null, null);
- parent.start();
- TestBean referenceTarget = new TestBeanImpl();
- Reference reference = createMock(Reference.class);
- expect(reference.getName()).andReturn("bar").anyTimes();
- expect(reference.isSystem()).andReturn(false).atLeastOnce();
- expect(reference.getInterface()).andStubReturn(TestBean.class);
- expect(reference.getServiceInstance()).andStubReturn(referenceTarget);
- replay(reference);
- parent.register(reference);
- ctx.getBean("foo");
- }
-
- private AbstractApplicationContext createSpringContext() {
- StaticApplicationContext beanFactory = new StaticApplicationContext();
- RootBeanDefinition definition = new RootBeanDefinition(TestBeanImpl.class);
- //REVIEW we need to figure out how to handle eager init components
- definition.setLazyInit(true);
- RuntimeBeanReference ref = new RuntimeBeanReference("bar");
- PropertyValue val = new PropertyValue("bean", ref);
- definition.getPropertyValues().addPropertyValue(val);
- beanFactory.registerBeanDefinition("foo", definition);
- return beanFactory;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ServiceInvocationTestCase.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ServiceInvocationTestCase.java
deleted file mode 100644
index 596d9f1181..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/ServiceInvocationTestCase.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import org.apache.tuscany.spi.builder.Connector;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.wire.InboundInvocationChain;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.QualifiedName;
-
-import junit.framework.TestCase;
-import org.apache.tuscany.container.spring.mock.TestBean;
-import org.apache.tuscany.container.spring.mock.TestBeanImpl;
-import org.apache.tuscany.test.ArtifactFactory;
-import static org.apache.tuscany.test.ArtifactFactory.createWireService;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.StaticApplicationContext;
-
-/**
- * Tests a simple invocation through a service to a Spring bean
- *
- * @version $$Rev$$ $$Date$$
- */
-public class ServiceInvocationTestCase extends TestCase {
-
- public void testInvocation() throws InvalidServiceContractException {
- AbstractApplicationContext springContext = createSpringContext();
- SpringCompositeComponent composite = new SpringCompositeComponent("parent", springContext, null, null, null);
- InboundWire inboundWire = ArtifactFactory.createInboundWire("fooService", TestBean.class);
- OutboundWire outboundWire = ArtifactFactory.createOutboundWire("fooService", TestBean.class);
- outboundWire.setTargetName(new QualifiedName("foo"));
- ArtifactFactory.terminateWire(outboundWire);
- Service service =
- new ServiceExtension("fooService", TestBean.class, composite, createWireService());
- service.setInboundWire(inboundWire);
- service.setOutboundWire(outboundWire);
- Connector connector = ArtifactFactory.createConnector();
- connector.connect(inboundWire, outboundWire, true);
- for (InboundInvocationChain chain : inboundWire.getInvocationChains().values()) {
- chain.setTargetInvoker(composite.createTargetInvoker("foo", chain.getOperation()));
- }
- composite.register(service);
- TestBean serviceInstance = (TestBean) composite.getService("fooService").getServiceInstance();
- assertEquals("bar", serviceInstance.echo("bar"));
- }
-
-
- private AbstractApplicationContext createSpringContext() {
- StaticApplicationContext beanFactory = new StaticApplicationContext();
- RootBeanDefinition definition = new RootBeanDefinition(TestBeanImpl.class);
- definition.setLazyInit(true);
- beanFactory.registerBeanDefinition("foo", definition);
- return beanFactory;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilderTestCase.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilderTestCase.java
deleted file mode 100644
index 50ce9a7b75..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeBuilderTestCase.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import org.apache.tuscany.spi.builder.BuilderRegistry;
-import org.apache.tuscany.spi.builder.Connector;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.WireService;
-
-import junit.framework.TestCase;
-import static org.apache.tuscany.container.spring.SpringTestUtils.createContext;
-import org.apache.tuscany.container.spring.mock.TestBean;
-import org.apache.tuscany.container.spring.model.SpringComponentType;
-import org.apache.tuscany.container.spring.model.SpringImplementation;
-import org.apache.tuscany.test.ArtifactFactory;
-import org.apache.tuscany.test.binding.TestBinding;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
-/**
- * @version $$Rev$$ $$Date$$
- */
-public class SpringCompositeBuilderTestCase extends TestCase {
-
- /**
- * Verfies basic build of a spring context
- */
- @SuppressWarnings("unchecked")
- public void testBuild() throws Exception {
- // Create an assembly model consisting of a component implemented by Spring
- SpringImplementation impl = new SpringImplementation(new SpringComponentType(createContext()));
- ComponentDefinition<SpringImplementation> componentDefinition =
- new ComponentDefinition<SpringImplementation>("spring", impl);
-
- // Configure the mock builder registry
- BuilderRegistry registry = createNiceMock(BuilderRegistry.class);
-
- // Test the SpringCompositeBuilder
- SpringCompositeBuilder builder = new SpringCompositeBuilder();
- builder.setBuilderRegistry(registry);
- CompositeComponent parent = createNiceMock(CompositeComponent.class);
- DeploymentContext context = createNiceMock(DeploymentContext.class);
- SpringCompositeComponent component =
- (SpringCompositeComponent) builder.build(parent, componentDefinition, context);
- TestBean bean = (TestBean) component.getApplicationContext().getBean("foo");
- assertEquals("call foo", bean.echo("call foo"));
- }
-
- /**
- * Verifies that the builder calls back into the registry to load services and wires them to bean targets when no
- * <code>sca:service</code> tag is specified in the Spring application.xml
- */
- @SuppressWarnings("unchecked")
- public void testImplicitServiceWiring() throws Exception {
- // Create an assembly model consisting of a component implemented by Spring
- SpringImplementation impl = new SpringImplementation(createComponentType());
- ComponentDefinition<SpringImplementation> componentDefinition =
- new ComponentDefinition<SpringImplementation>("spring", impl);
-
- // Create a service instance that the mock builder registry will return
- WireService wireService = ArtifactFactory.createWireService();
- ServiceExtension serviceContext =
- new ServiceExtension("fooService", TestBean.class, null, wireService);
- InboundWire inboundWire = ArtifactFactory.createInboundWire("fooService", TestBean.class);
- OutboundWire outboundWire = ArtifactFactory.createOutboundWire("fooService", TestBean.class);
- ArtifactFactory.terminateWire(outboundWire);
- serviceContext.setInboundWire(inboundWire);
- serviceContext.setOutboundWire(outboundWire);
- Connector connector = ArtifactFactory.createConnector();
- connector.connect(inboundWire, outboundWire, true);
-
- // Configure the mock builder registry
- BuilderRegistry registry = createMock(BuilderRegistry.class);
- expect(registry.build(isA(CompositeComponent.class),
- isA(BoundServiceDefinition.class),
- isA(DeploymentContext.class))).andStubReturn(serviceContext);
- replay(registry);
-
- // Test the SpringCompositeBuilder
- SpringCompositeBuilder builder = new SpringCompositeBuilder();
- builder.setWireService(wireService);
- builder.setBuilderRegistry(registry);
- CompositeComponent parent = createNiceMock(CompositeComponent.class);
- DeploymentContext context = createNiceMock(DeploymentContext.class);
- CompositeComponent component = (CompositeComponent) builder.build(parent, componentDefinition, context);
- Service service = component.getService("fooService");
- TestBean bean = (TestBean) service.getServiceInstance();
- assertEquals("call foo", bean.echo("call foo"));
- verify(registry);
- }
-
- @SuppressWarnings("unchecked")
- private SpringComponentType createComponentType() {
- SpringComponentType componentType = new SpringComponentType(createContext());
- BoundServiceDefinition<TestBinding> serviceDefinition = new BoundServiceDefinition<TestBinding>();
- serviceDefinition.setName("fooService");
- serviceDefinition.setBinding(new TestBinding());
- try {
- serviceDefinition.setTarget(new URI("foo"));
- } catch (URISyntaxException e) {
- throw new AssertionError();
- }
- componentType.add(serviceDefinition);
- return componentType;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeComponentTestCase.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeComponentTestCase.java
deleted file mode 100644
index f3ac13d030..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringCompositeComponentTestCase.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import org.apache.tuscany.spi.component.Service;
-
-import junit.framework.TestCase;
-import static org.easymock.EasyMock.expect;
-import org.easymock.classextension.EasyMock;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.easymock.classextension.EasyMock.verify;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.AbstractApplicationContext;
-
-/**
- * @version $Rev$ $Date$
- */
-public class SpringCompositeComponentTestCase extends TestCase {
-
- public void testAppContextStart() {
- AbstractApplicationContext appContext = EasyMock.createMock(AbstractApplicationContext.class);
- appContext.refresh();
- appContext.setParent(EasyMock.isA(ApplicationContext.class));
- appContext.start();
- replay(appContext);
- SpringCompositeComponent component = new SpringCompositeComponent("spring", appContext, null, null, null);
- component.start();
- verify(appContext);
- }
-
- public void testChildStart() {
- AbstractApplicationContext appContext = EasyMock.createNiceMock(AbstractApplicationContext.class);
- replay(appContext);
- Service service = EasyMock.createMock(Service.class);
- EasyMock.expect(service.getName()).andReturn("foo").anyTimes();
- service.start();
- service.getInterface();
- EasyMock.expectLastCall().andReturn(Object.class);
- expect(service.isSystem()).andReturn(false).atLeastOnce();
- replay(service);
- SpringCompositeComponent component = new SpringCompositeComponent("spring", appContext, null, null, null);
- component.register(service);
- component.start();
- verify(service);
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringInvocationTestCase.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringInvocationTestCase.java
deleted file mode 100644
index b110852a54..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/impl/SpringInvocationTestCase.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.impl;
-
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.MessageImpl;
-
-import junit.framework.TestCase;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import org.springframework.context.ApplicationContext;
-
-/**
- * Verifies a simple invocation on a Spring bean
- *
- * @version $$Rev$$ $$Date$$
- */
-public class SpringInvocationTestCase extends TestCase {
-
- /**
- * Verifies the invoker can resolve a bean in an application context and call a method l
- */
- public void testInvocation() throws Exception {
- TestBean bean = createMock(TestBean.class);
- bean.test("bar");
- expectLastCall();
- replay(bean);
- ApplicationContext context = createMock(ApplicationContext.class);
- expect(context.getBean("foo")).andReturn(bean);
- replay(context);
- SpringInvoker invoker = new SpringInvoker("foo", TestBean.class.getMethod("test", String.class), context);
- Message msg = new MessageImpl();
- msg.setBody(new String[]{"bar"});
- invoker.invoke(msg);
- verify(context);
- verify(bean);
- }
-
-
- private interface TestBean {
- void test(String msg);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/integration/BootstrapTestCase.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/integration/BootstrapTestCase.java
deleted file mode 100644
index c5758cb2ac..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/integration/BootstrapTestCase.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.integration;
-
-import org.osoa.sca.CompositeContext;
-import org.osoa.sca.CurrentCompositeContext;
-
-import org.apache.tuscany.spi.component.Service;
-
-import org.apache.tuscany.container.spring.impl.SpringCompositeComponent;
-import org.apache.tuscany.container.spring.mock.TestBean;
-import org.apache.tuscany.test.Bootstrapper;
-
-/**
- * Bootstraps a simple scenario where a service can invoke a Spring bean. This test case is intended to be temporary and
- * replaced when the SPI test harness is finished.
- * <p/>
- * <bold>PLEASE DO NOT EMULATE</bold>
- *
- * @version $Rev$ $Date$
- */
-public class BootstrapTestCase extends Bootstrapper {
-
- private CompositeContext context;
-
- public void testDemoBoot() {
- SpringCompositeComponent comp = (SpringCompositeComponent) component.getChild("Spring");
- Service service = (Service) comp.getChild("fooService");
- TestBean bean = (TestBean) service.getServiceInstance();
- bean.echo("foo");
- bean.getBean().echo("foo");
- }
-
- protected void setUp() throws Exception {
- addExtension("spring.extension", getClass().getClassLoader().getResource("META-INF/sca/spring.system.scdl"));
- super.setUp();
- context = CurrentCompositeContext.getContext();
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestBean.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestBean.java
deleted file mode 100644
index 1c768e53cc..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestBean.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.mock;
-
-/**
- * @version $$Rev$$ $$Date$$
- */
-public interface TestBean {
- String echo(String msg);
-
- TestBean getBean();
-
- void setBean(TestBean bean);
-
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestBeanImpl.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestBeanImpl.java
deleted file mode 100644
index db04d8bcad..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestBeanImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.mock;
-
-/**
- * @version $$Rev$$ $$Date$$
- */
-public class TestBeanImpl implements TestBean {
-
- private TestBean bean;
-
- public TestBeanImpl() {
- }
-
- public String echo(String msg) {
- return msg;
- }
-
- public TestBean getBean() {
- return bean;
- }
-
- public void setBean(TestBean bean) {
- this.bean = bean;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestReference.java b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestReference.java
deleted file mode 100644
index 7d1a519be6..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/mock/TestReference.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.container.spring.mock;
-
-/**
- * @version $$Rev$$ $$Date$$
- */
-public interface TestReference {
- String echo(String msg);
-}
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/META-INF/sca/application-context.xml b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/META-INF/sca/application-context.xml
deleted file mode 100644
index 6ccd3963a9..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/META-INF/sca/application-context.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:sca="http://www.springframework.org/schema/sca"
- xsi:schemaLocation="
-http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-http://www.springframework.org/schema/sca http://www.springframework.org/schema/sca/spring-sca.xsd">
-
- <bean id="testBean" class="org.apache.tuscany.container.spring.mock.TestBeanImpl" lazy-init="true">
- <property name="bean" ref="testReference"/>
- </bean>
- <!-- <sca:reference name="testReference" type="org.apache.tuscany.container.spring.mock.TestReference"/> -->
-
-</beans>
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 0b2c92c667..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- name="spring.test">
-
- <component name="Spring">
- <implementation.spring location="META-INF/sca/application-context.xml">
- <service name="fooService">
- <binding.test/>
- <interface.java class="org.apache.tuscany.container.spring.mock.TestBean"/>
- <reference>testBean</reference>
- </service>
- <reference name="testReference">
- <interface.java class="org.apache.tuscany.container.spring.mock.TestBean"/>
- <binding.test/>
- </reference>
- </implementation.spring>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/org/apache/tuscany/container/spring/ExplicitSpring.xml b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/org/apache/tuscany/container/spring/ExplicitSpring.xml
deleted file mode 100644
index 211211511b..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/org/apache/tuscany/container/spring/ExplicitSpring.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:sca="http://www.springframework.org/schema/sca"
- xsi:schemaLocation="
-http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-http://www.springframework.org/schema/sca http://www.springframework.org/schema/sca/spring-sca.xsd">
-
- <sca:service name="fooBean" type="org.apache.tuscany.container.spring.mock.TestBeanImpl" target="testBean"/>
-
- <bean id="testBean" class="org.apache.tuscany.container.spring.mock.TestBeanImpl">
- </bean>
-
-</beans>
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/org/apache/tuscany/container/spring/SpringConfigSchemaTest.xml b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/org/apache/tuscany/container/spring/SpringConfigSchemaTest.xml
deleted file mode 100644
index 96a3e1ed46..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/org/apache/tuscany/container/spring/SpringConfigSchemaTest.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:sca="http://www.springframework.org/schema/sca"
- xsi:schemaLocation="
-http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-http://www.springframework.org/schema/sca http://www.springframework.org/schema/sca/spring-sca.xsd">
-
- <bean id="testBean" class="org.apache.tuscany.container.spring.mock.TestBeanImpl">
- </bean>
-
- <sca:service name="fooService" type="org.apache.tuscany.container.spring.mock.TestBean" target="testBean"/>
-
- <sca:reference name="fooReference" type="org.apache.tuscany.container.spring.mock.TestReference"/>
-
-
-</beans>
diff --git a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/test.xml b/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/test.xml
deleted file mode 100644
index d438b88577..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.spring/src/test/resources/test.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:sca="http://www.springframework.org/schema/sca"
- xsi:schemaLocation="
-http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-http://www.springframework.org/schema/sca http://www.springframework.org/schema/sca/spring-sca.xsd">
-
- <bean id="testBean" class="org.apache.tuscany.container.spring.mock.TestBeanImpl"/>
-
-</beans>
diff --git a/branches/sca-java-M2/sca/services/containers/pom.xml b/branches/sca-java-M2/sca/services/containers/pom.xml
deleted file mode 100644
index 4bd5db50a5..0000000000
--- a/branches/sca-java-M2/sca/services/containers/pom.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.tuscany.sca.services.containers</groupId>
- <artifactId>parent</artifactId>
- <packaging>pom</packaging>
- <name>Tuscany SCA Containers</name>
-
- <!-- definition of repositories where the parent pom can be found -->
- <repositories>
- <repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>apache.incubator</id>
- <name>Apache Incubator Repository</name>
- <url>http://people.apache.org/repo/m2-incubating-repository/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <profiles>
- <profile>
- <id>full</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>container.groovy</module>
- <module>container.javascript</module>
- <module>container.ruby</module>
- <module>container.spring</module>
- </modules>
- </profile>
- <profile>
- <id>release</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <modules>
- <module>container.javascript</module>
- <module>container.ruby</module>
- <module>container.spring</module>
- </modules>
- </profile>
- </profiles>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/LICENSE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/LICENSE.txt
deleted file mode 100755
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/NOTICE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/pom.xml b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/pom.xml
deleted file mode 100755
index c92cb94b88..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/pom.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>databinding-axiom</artifactId>
- <name>Apache Tuscany Data Binding for Axiom</name>
- <description>Tuscany Axiom Data Binding</description>
-
- <repositories>
- <repository>
- <id>apache.m1.snapshots</id>
- <name>Apache M1 Snapshot Repository</name>
- <url>http://people.apache.org/repo/m1-snapshot-repository</url>
- <layout>legacy</layout>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-impl</artifactId>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
-
- <dependency>
- <groupId>woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.0.4</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/AxiomDataBinding.java b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/AxiomDataBinding.java
deleted file mode 100644
index 6a43d25847..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/AxiomDataBinding.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.axiom;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.spi.databinding.DataBinding;
-import org.apache.tuscany.spi.databinding.WrapperHandler;
-import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;
-import org.osoa.sca.annotations.Service;
-
-/**
- * DataBinding for AXIOM
- */
-@Service(DataBinding.class)
-public class AxiomDataBinding extends DataBindingExtension {
-
- public static final String NAME = OMElement.class.getName();
-
- public AxiomDataBinding() {
- super(OMElement.class);
- }
-
- /**
- * @see org.apache.tuscany.spi.databinding.extension.DataBindingExtension#getWrapperHandler()
- */
- @Override
- public WrapperHandler getWrapperHandler() {
- return new OMElementWrapperHandler();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2Object.java b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2Object.java
deleted file mode 100644
index 91b1f4da90..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2Object.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.axiom;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.SimpleType2JavaTransformer;
-import org.osoa.sca.annotations.Service;
-
-/**
- * Transformer to convert data from a simple java bject to OMElement
- */
-@Service(Transformer.class)
-public class OMElement2Object extends SimpleType2JavaTransformer<OMElement> {
-
- @Override
- protected String getText(OMElement source) {
- return source.getText();
- }
-
- public Class getSourceType() {
- return OMElement.class;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2String.java b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2String.java
deleted file mode 100755
index 52be08537d..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2String.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.axiom;
-
-import java.io.StringWriter;
-
-import javax.xml.stream.XMLStreamException;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-/**
- * Transformer to convert data from an OMElement to XML String
- */
-@Service(Transformer.class)
-public class OMElement2String extends TransformerExtension<OMElement, String> implements PullTransformer<OMElement, String> {
- // private XmlOptions options;
-
- public String transform(OMElement source, TransformationContext context) {
- try {
- StringWriter writer = new StringWriter();
- source.serialize(writer);
- return writer.toString();
- } catch (XMLStreamException e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return OMElement.class;
- }
-
- public Class getTargetType() {
- return String.class;
- }
-
- public int getWeight() {
- return 40;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2XMLStreamReader.java b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2XMLStreamReader.java
deleted file mode 100755
index 343408a027..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElement2XMLStreamReader.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.axiom;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-@Service(Transformer.class)
-public class OMElement2XMLStreamReader extends TransformerExtension<OMElement, XMLStreamReader> implements PullTransformer<OMElement, XMLStreamReader> {
- // private XmlOptions options;
-
- public XMLStreamReader transform(OMElement source, TransformationContext context) {
- return source.getXMLStreamReader();
- }
-
- public Class getSourceType() {
- return OMElement.class;
- }
-
- public Class getTargetType() {
- return XMLStreamReader.class;
- }
-
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java
deleted file mode 100644
index 0ba2863735..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.axiom;
-
-import java.util.Iterator;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.WrapperHandler;
-import org.apache.tuscany.spi.idl.ElementInfo;
-
-/**
- * OMElement wrapper handler implementation
- */
-public class OMElementWrapperHandler implements WrapperHandler<OMElement> {
-
- private OMFactory factory;
-
- public OMElementWrapperHandler() {
- super();
- this.factory = OMAbstractFactory.getOMFactory();
- }
-
- public OMElement create(ElementInfo element, TransformationContext context) {
- OMElement wrapper = factory.createOMElement(element.getQName(), null);
- return wrapper;
- }
-
- public Object getChild(OMElement wrapper, int i, ElementInfo element) {
- int index = 0;
- for (Iterator e = wrapper.getChildElements(); e.hasNext();) {
- OMElement child = (OMElement) e.next();
- if (index != i) {
- index++;
- continue;
- }
- if (child.getQName().equals(element.getQName())) {
- return child;
- }
- }
- return null;
- }
-
- public void setChild(OMElement wrapper, int i, ElementInfo childElement, Object value) {
- wrapper.addChild((OMElement) value);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java
deleted file mode 100644
index 5416b5239e..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.axiom;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.Java2SimpleTypeTransformer;
-import org.apache.tuscany.spi.idl.ElementInfo;
-import org.osoa.sca.annotations.Service;
-
-/**
- * Transformer to convert data from an simple OMElement to Java Object
- */
-@Service(Transformer.class)
-public class Object2OMElement extends Java2SimpleTypeTransformer<OMElement> {
-
- private OMFactory factory;
-
- public Object2OMElement() {
- super();
- factory = OMAbstractFactory.getOMFactory();
- }
-
- protected OMElement createElement(ElementInfo element, String text, TransformationContext context) {
- OMElement omElement = factory.createOMElement(element.getQName(), null);
- factory.createOMText(omElement, text);
- return omElement;
- }
-
- @Override
- public Class getTargetType() {
- return OMElement.class;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java
deleted file mode 100755
index 59ac5423d7..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.axiom;
-
-import java.io.ByteArrayInputStream;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.tuscany.spi.model.DataType;
-import org.osoa.sca.annotations.Service;
-
-@Service(Transformer.class)
-public class String2OMElement extends TransformerExtension<String, OMElement> implements
- PullTransformer<String, OMElement> {
-
- @SuppressWarnings("unchecked")
- public OMElement transform(String source, TransformationContext context) {
- try {
- StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(source.getBytes()));
- OMElement element = builder.getDocumentElement();
- adjustElementName(context, element);
- return element;
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- /**
- * @param context
- * @param element
- */
- private void adjustElementName(TransformationContext context, OMElement element) {
- if (context != null) {
- DataType dataType = context.getTargetDataType();
- Object targetQName = dataType == null ? null : dataType.getLogical();
- if (!(targetQName instanceof QName)) {
- return;
- }
- if (!element.getQName().equals(targetQName)) {
- // TODO: Throw expection or switch to the new Element
- OMFactory factory = OMAbstractFactory.getOMFactory();
- QName name = (QName)targetQName;
- OMNamespace namespace = factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix());
- element.setNamespace(namespace);
- element.setLocalName(name.getLocalPart());
- }
- }
- }
-
- public Class getTargetType() {
- return OMElement.class;
- }
-
- public Class getSourceType() {
- return String.class;
- }
-
- public int getWeight() {
- return 40;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/XMLStreamReader2OMElement.java b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/XMLStreamReader2OMElement.java
deleted file mode 100755
index 5b2c89b443..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/java/org/apache/tuscany/databinding/axiom/XMLStreamReader2OMElement.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.axiom;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.tuscany.spi.model.DataType;
-import org.osoa.sca.annotations.Service;
-
-@Service(Transformer.class)
-public class XMLStreamReader2OMElement extends TransformerExtension<XMLStreamReader, OMElement> implements
- PullTransformer<XMLStreamReader, OMElement> {
-
- public XMLStreamReader2OMElement() {
- super();
- }
-
- public OMElement transform(XMLStreamReader source, TransformationContext context) {
- try {
- StAXOMBuilder builder = new StAXOMBuilder(source);
- OMElement element = builder.getDocumentElement();
- adjustElementName(context, element);
- return element;
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- /**
- * @param context
- * @param element
- */
- private void adjustElementName(TransformationContext context, OMElement element) {
- if (context != null) {
- DataType dataType = context.getTargetDataType();
- Object targetQName = dataType == null ? null : dataType.getLogical();
- if (!(targetQName instanceof QName)) {
- return;
- }
- if (!element.getQName().equals(targetQName)) {
- // TODO: Throw expection or switch to the new Element
- OMFactory factory = OMAbstractFactory.getOMFactory();
- QName name = (QName)targetQName;
- OMNamespace namespace = factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix());
- element.setNamespace(namespace);
- element.setLocalName(name.getLocalPart());
- }
- }
- }
-
- public Class getTargetType() {
- return OMElement.class;
- }
-
- public Class getSourceType() {
- return XMLStreamReader.class;
- }
-
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/resources/META-INF/sca/databinding.axiom.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/resources/META-INF/sca/databinding.axiom.scdl
deleted file mode 100644
index 0954b5a90f..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/resources/META-INF/sca/databinding.axiom.scdl
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!-- This is the copy ot be included by other extensions -->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.axiom.include">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.databinding</group>
- <name>databinding-axiom</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <component name="databinding.axiom">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.AxiomDataBinding" />
- </component>
-
- <component name="transformer.XMLStreamReader2OMElement">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.XMLStreamReader2OMElement" />
- </component>
-
- <component name="transformer.OMElement2XMLStreamReader">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.OMElement2XMLStreamReader" />
- </component>
-
- <component name="transformer.String2OMElement">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.String2OMElement" />
- </component>
-
- <component name="transformer.OMElement2String">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.OMElement2String" />
- </component>
-
- <component name="transformer.Object2OMElement">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.Object2OMElement" />
- </component>
-
- <component name="transformer.OMElement2Object">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.OMElement2Object" />
- </component>
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 25e5a04c5c..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.axiom">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.databinding</group>
- <name>databinding-axiom</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <component name="databinding.axiom">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.AxiomDataBinding" />
- </component>
-
- <component name="transformer.XMLStreamReader2OMElement">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.XMLStreamReader2OMElement" />
- </component>
-
- <component name="transformer.OMElement2XMLStreamReader">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.OMElement2XMLStreamReader" />
- </component>
-
- <component name="transformer.String2OMElement">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.String2OMElement" />
- </component>
-
- <component name="transformer.OMElement2String">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.OMElement2String" />
- </component>
-
- <component name="transformer.Object2OMElement">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.Object2OMElement" />
- </component>
-
- <component name="transformer.OMElement2Object">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.OMElement2Object" />
- </component>
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/java/org/apache/tuscany/databinding/axiom/OMElementTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/java/org/apache/tuscany/databinding/axiom/OMElementTestCase.java
deleted file mode 100755
index 5a2793225b..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/java/org/apache/tuscany/databinding/axiom/OMElementTestCase.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.axiom;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.axiom.om.OMElement;
-
-public class OMElementTestCase extends TestCase {
- private static final String IPO_XML =
- "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
- + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
- + " xmlns:ipo=\"http://www.example.com/IPO\""
- + " xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\"" + " orderDate=\"1999-12-01\">"
- + " <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">" + " <name>Helen Zoe</name>"
- + " <street>47 Eden Street</street>" + " <city>Cambridge</city>"
- + " <postcode>CB1 1JR</postcode>" + " </shipTo>" + " <billTo xsi:type=\"ipo:USAddress\">"
- + " <name>Robert Smith</name>" + " <street>8 Oak Avenue</street>"
- + " <city>Old Town</city>" + " <state>PA</state>" + " <zip>95819</zip>" + " </billTo>"
- + " <items>" + " <item partNum=\"833-AA\">" + " <productName>Lapis necklace</productName>"
- + " <quantity>1</quantity>" + " <USPrice>99.95</USPrice>"
- + " <ipo:comment>Want this for the holidays</ipo:comment>"
- + " <shipDate>1999-12-05</shipDate>" + " </item>" + " </items>" + "</ipo:purchaseOrder>";
-
- public final void testStringTransform() {
- String2OMElement t1 = new String2OMElement();
- OMElement element = t1.transform(IPO_XML, null);
- OMElement2String t2 = new OMElement2String();
- String xml = t2.transform(element, null);
- Assert.assertNotNull(xml);
- Assert.assertNotNull(xml.indexOf("<ipo:comment>") != -1);
- }
-
- public final void testStAXTransform() {
- String2OMElement t1 = new String2OMElement();
- OMElement element = t1.transform(IPO_XML, null);
-
- OMElement2XMLStreamReader t2 = new OMElement2XMLStreamReader();
- XMLStreamReader reader = t2.transform(element, null);
-
- XMLStreamReader2OMElement t3 = new XMLStreamReader2OMElement();
- OMElement element2 = t3.transform(reader, null);
-
- Assert.assertEquals(element2.getQName(), element.getQName());
- Assert.assertEquals(new QName("http://www.example.com/IPO", "purchaseOrder"), element2.getQName());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/ipo.xml b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/ipo.xml
deleted file mode 100755
index df901d183d..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/ipo.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ipo:purchaseOrder
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ipo="http://www.example.com/IPO"
- xsi:schemaLocation="http://www.example.com/IPO ipo.xsd"
- orderDate="1999-12-01">
-
- <shipTo exportCode="1" xsi:type="ipo:UKAddress">
- <name>Helen Zoe</name>
- <street>47 Eden Street</street>
- <city>Cambridge</city>
- <postcode>CB1 1JR</postcode>
- </shipTo>
-
- <billTo xsi:type="ipo:USAddress">
- <name>Robert Smith</name>
- <street>8 Oak Avenue</street>
- <city>Old Town</city>
- <state>PA</state>
- <zip>95819</zip>
- </billTo>
-
- <items>
- <item partNum="833-AA">
- <productName>Lapis necklace</productName>
- <quantity>1</quantity>
- <USPrice>99.95</USPrice>
- <ipo:comment>Want this for the holidays</ipo:comment>
- <shipDate>1999-12-05</shipDate>
- </item>
- </items>
-</ipo:purchaseOrder>
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/ipo.xsd b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/ipo.xsd
deleted file mode 100755
index 241ec15d36..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/ipo.xsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/order.wsdl b/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/order.wsdl
deleted file mode 100644
index 7634cdebd3..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-axiom/src/test/resources/order.wsdl
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<definitions name="StockQuote" targetNamespace="http://example.com/order.wsdl" xmlns:tns="http://example.com/order.wsdl"
- xmlns:xsd1="http://example.com/order.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
- <schema targetNamespace="http://example.com/order.xsd" xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
- <import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd"/>
- <element name="checkOrderStatus">
- <complexType>
- <sequence>
- <element name="customerId" type="string" />
- <element name="order" type="ipo:PurchaseOrderType" />
- <element name="flag" type="int" />
- </sequence>
- </complexType>
- </element>
- <element name="checkOrderStatusResponse">
- <complexType>
- <sequence>
- <element name="status" type="string" />
- </sequence>
- </complexType>
- </element>
- <element name="note" type="string" />
- </schema>
- </types>
-
- <message name="CheckOrderStatusInput1">
- <part name="body" element="xsd1:checkOrderStatus" />
- </message>
-
- <message name="CheckOrderStatusOutput1">
- <part name="body" element="xsd1:checkOrderStatusResponse" />
- </message>
-
- <message name="CheckOrderStatusInput2">
- <part name="p1" element="xsd1:checkOrderStatus" />
- <part name="p2" element="xsd1:note" />
- </message>
-
- <message name="CheckOrderStatusOutput2">
- <part name="p1" element="xsd1:checkOrderStatusResponse" />
- </message>
-
- <portType name="OrderPortType">
- <operation name="checkOrderStatus">
- <input message="tns:CheckOrderStatusInput1" />
- <output message="tns:CheckOrderStatusOutput1" />
- </operation>
- <operation name="checkOrderStatus2">
- <input message="tns:CheckOrderStatusInput2" />
- <output message="tns:CheckOrderStatusOutput2" />
- </operation>
- </portType>
-
-</definitions>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/LICENSE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-castor/LICENSE.txt
deleted file mode 100755
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/NOTICE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-castor/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/pom.xml b/branches/sca-java-M2/sca/services/databinding/databinding-castor/pom.xml
deleted file mode 100755
index 9557263ea7..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/pom.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>databinding-castor</artifactId>
- <name>Apache Tuscany Data Binding for Castor</name>
- <description>Tuscany Castor Data Binding</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>castor</groupId>
- <artifactId>castor</artifactId>
- <version>1.0</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.0.4</version>
- <scope>runtime</scope>
- </dependency>
-
- <!-- Adding Apache xerces to workaround the castor references for SAX parser -->
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.8.0</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>add-test-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-test-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>target/castor-source</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-castor</id>
- <phase>generate-test-sources</phase>
- <configuration>
- <tasks>
- <taskdef name="castor-srcgen"
- classname="org.exolab.castor.tools.ant.taskdefs.CastorSourceGenTask"
- classpathref="maven.test.classpath" />
- <mkdir dir="${project.build.directory}/castor-source"></mkdir>
- <castor-srcgen file="${basedir}/src/test/resources/ipo.xsd"
- todir="${project.build.directory}/castor-source" package="com.example.ipo.castor"
- types="j2" warnings="false" bindingfile="${basedir}/src/test/resources/binding.xml" />
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2Node.java b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2Node.java
deleted file mode 100755
index 9ae0335ada..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2Node.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.castor;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.extension.DOMHelper;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.exolab.castor.xml.Marshaller;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public class Castor2Node<T> extends TransformerExtension<T, Node> implements PullTransformer<T, Node> {
- private Class<T> type;
-
- public Castor2Node(Class<T> type) {
- super();
- this.type = type;
- }
-
- public Class getTargetType() {
- return Node.class;
- }
-
- public Class getSourceType() {
- return type;
- }
-
- public int getWeight() {
- return 40;
- }
-
- /**
- * @see org.apache.tuscany.spi.databinding.PullTransformer#transform(java.lang.Object, org.apache.tuscany.spi.databinding.TransformationContext)
- */
- public Node transform(Object source, TransformationContext context) {
- try {
- Document document = DOMHelper.newDocument();
- Marshaller.marshal(source, document);
- return document;
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2SAX.java b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2SAX.java
deleted file mode 100644
index 643d6fb4ad..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2SAX.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.castor;
-
-import java.io.Writer;
-
-import org.apache.tuscany.spi.databinding.PushTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.exolab.castor.xml.Marshaller;
-
-public class Castor2SAX<T> extends TransformerExtension<T, Writer> implements PushTransformer<T, Writer> {
- private Class<T> type;
-
- /**
- * @param type
- */
- public Castor2SAX(Class<T> type) {
- super();
- this.type = type;
- }
-
- public Class getSourceType() {
- return type;
- }
-
- public Class getTargetType() {
- return Writer.class;
- }
-
- public int getWeight() {
- return 40;
- }
-
- /**
- * @see org.apache.tuscany.spi.databinding.PullTransformer#transform(java.lang.Object, org.apache.tuscany.spi.databinding.TransformationContext)
- */
- public void transform(T source, Writer writer, TransformationContext context) {
- try {
- Marshaller.marshal(source, writer);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2Writer.java b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2Writer.java
deleted file mode 100644
index f477273387..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Castor2Writer.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.castor;
-
-import org.apache.tuscany.spi.databinding.PushTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.exolab.castor.xml.Marshaller;
-import org.xml.sax.ContentHandler;
-
-public class Castor2Writer<T> extends TransformerExtension<T, ContentHandler> implements PushTransformer<T, ContentHandler> {
- private Class<T> type;
-
- /**
- * @param type
- */
- public Castor2Writer(Class<T> type) {
- super();
- this.type = type;
- }
-
- public Class getSourceType() {
- return type;
- }
-
- public Class getTargetType() {
- return ContentHandler.class;
- }
-
- public int getWeight() {
- return 40;
- }
-
- /**
- * @see org.apache.tuscany.spi.databinding.PullTransformer#transform(java.lang.Object, org.apache.tuscany.spi.databinding.TransformationContext)
- */
- public void transform(T source, ContentHandler contentHandler, TransformationContext context) {
- try {
- Marshaller.marshal(source, contentHandler);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/InputSource2Castor.java b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/InputSource2Castor.java
deleted file mode 100644
index 61bac7d20f..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/InputSource2Castor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.castor;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.exolab.castor.xml.Unmarshaller;
-import org.xml.sax.InputSource;
-
-public class InputSource2Castor<T> extends TransformerExtension<InputSource, T> implements PullTransformer<InputSource, T> {
- private Class<T> type;
-
- /**
- * @param type
- */
- public InputSource2Castor(Class<T> type) {
- super();
- this.type = type;
- }
-
- public Class getTargetType() {
- return type;
- }
-
- public Class getSourceType() {
- return InputSource.class;
- }
-
- public int getWeight() {
- return 40;
- }
-
- /**
- * @see org.apache.tuscany.spi.databinding.PullTransformer#transform(java.lang.Object, org.apache.tuscany.spi.databinding.TransformationContext)
- */
- public T transform(InputSource source, TransformationContext context) {
- try {
- Object object = Unmarshaller.unmarshal(type, source);
- return type.cast(object);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Node2Castor.java b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Node2Castor.java
deleted file mode 100644
index fa5a15b3ba..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Node2Castor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.castor;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.exolab.castor.xml.Unmarshaller;
-import org.w3c.dom.Node;
-
-public class Node2Castor<T> extends TransformerExtension<Node, T> implements PullTransformer<Node, T> {
- private Class<T> type;
-
- /**
- * @param type
- */
- public Node2Castor(Class<T> type) {
- super();
- this.type = type;
- }
-
- public Class getTargetType() {
- return type;
- }
-
- public Class getSourceType() {
- return Node.class;
- }
-
- public int getWeight() {
- return 40;
- }
-
- /**
- * @see org.apache.tuscany.spi.databinding.PullTransformer#transform(java.lang.Object, org.apache.tuscany.spi.databinding.TransformationContext)
- */
- public T transform(Node source, TransformationContext context) {
- try {
- Object object = Unmarshaller.unmarshal(type, source);
- return type.cast(object);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Reader2Castor.java b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Reader2Castor.java
deleted file mode 100644
index a8ade1bda5..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/main/java/org/apache/tuscany/databinding/castor/Reader2Castor.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.castor;
-
-import java.io.Reader;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.exolab.castor.xml.Unmarshaller;
-
-public class Reader2Castor<T> extends TransformerExtension<Reader, T> implements PullTransformer<Reader, T> {
- private Class<T> type;
-
- /**
- * @param type
- */
- public Reader2Castor(Class<T> type) {
- super();
- this.type = type;
- }
-
- public Class getTargetType() {
- return type;
- }
-
- public Class getSourceType() {
- return Reader.class;
- }
-
- public int getWeight() {
- return 40;
- }
-
- /**
- * @see org.apache.tuscany.spi.databinding.PullTransformer#transform(java.lang.Object, org.apache.tuscany.spi.databinding.TransformationContext)
- */
- public T transform(Reader source, TransformationContext context) {
- try {
- Object object = Unmarshaller.unmarshal(type, source);
- return type.cast(object);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/java/org/apache/tuscany/databinding/castor/Castor2NodeTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/java/org/apache/tuscany/databinding/castor/Castor2NodeTestCase.java
deleted file mode 100644
index 378e89866a..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/java/org/apache/tuscany/databinding/castor/Castor2NodeTestCase.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.castor;
-
-import junit.framework.TestCase;
-
-public class Castor2NodeTestCase extends TestCase {
- private static final String IPO_XML = "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
- + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"" + " xmlns:ipo=\"http://www.example.com/IPO\""
- + " xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\"" + " orderDate=\"1999-12-01\">"
- + " <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">" + " <name>Helen Zoe</name>" + " <street>47 Eden Street</street>"
- + " <city>Cambridge</city>" + " <postcode>CB1 1JR</postcode>" + " </shipTo>" + " <billTo xsi:type=\"ipo:USAddress\">"
- + " <name>Robert Smith</name>" + " <street>8 Oak Avenue</street>" + " <city>Old Town</city>" + " <state>PA</state>"
- + " <zip>95819</zip>" + " </billTo>" + " <items>" + " <item partNum=\"833-AA\">"
- + " <productName>Lapis necklace</productName>" + " <quantity>1</quantity>" + " <USPrice>99.95</USPrice>"
- + " <ipo:comment>Want this for the holidays</ipo:comment>" + " <shipDate>1999-12-05</shipDate>" + " </item>" + " </items>"
- + "</ipo:purchaseOrder>";
-
- public void testTransform() throws Exception {
- // FIXME: There's a bug in the castor-generated code which cannot handle subutype correctly
- // http://jira.codehaus.org/browse/CASTOR-1475
- // shipTo should be able to accept UKAddress
-// Reader2Castor<PurchaseOrder> t1 = new Reader2Castor<PurchaseOrder>(PurchaseOrder.class);
-// PurchaseOrder po = t1.transform(new StringReader(IPO_XML), null);
- /*
- * Castor2Node t2 = new Castor2Node(); Node node = t2.transform(po, null); Assert.assertNotNull(node);
- */
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/binding.xml b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/binding.xml
deleted file mode 100755
index 3517e71692..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/binding.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<binding xmlns="http://www.castor.org/SourceGenerator/Binding"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- defaultBinding="type">
-
- <elementBinding name="complexType:PurchaseOrderType/items">
- <java-class name="ItemsElement"/>
- </elementBinding>
-
-</binding>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/ipo.xsd b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/ipo.xsd
deleted file mode 100755
index 241ec15d36..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/ipo.xsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/org/exolab/castor/builder/castorbuilder.properties b/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/org/exolab/castor/builder/castorbuilder.properties
deleted file mode 100644
index 3f9f2eabb7..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-castor/src/test/resources/org/exolab/castor/builder/castorbuilder.properties
+++ /dev/null
@@ -1,81 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-#
-# Property file for SourceCodeGenerator
-#
-# $Id: castorbuilder.properties,v 1.3 2004/05/06 08:20:51 kvisco Exp $
-
-# To enable bound properties uncomment the following line. Please
-# note that currently *all* fields will be treated as bound properties
-# when enabled. This will change in the future when we introduce
-# fine grained control over each class and it's properties.
-#
-#org.exolab.castor.builder.boundproperties=true
-
-# Java class mapping of <xsd:element>'s and <xsd:complexType>'s
-#
-org.exolab.castor.builder.javaclassmapping=type
-
-# This property allows one to specify the super class of *all*
-# generated classes
-#
-#org.exolab.castor.builder.superclass=com.xyz.BaseObject
-
-# XML namespace mapping to Java packages
-#
-#org.exolab.castor.builder.nspackages=\
- http://www.xyz.com/schemas/project=com.xyz.schemas.project,\
- http://www.xyz.com/schemas/person=com.xyz.schemas.person
-
-# Set to true if you want to generate the equals method
-# for each generated class
-# false by default
-#
-#org.exolab.castor.builder.equalsmethod=true
-
-# Set to true if you want to use Object Wrappers instead
-# of primitives (e.g Float instead of float).
-# false by default.
-#
-#org.exolab.castor.builder.primitivetowrapper=false
-
-# Set to true if you want the generated class descriptors to
-# expose the element and attribute names they contain.
-# false by default.
-#
-#org.exolab.castor.builder.classdescfieldnames=false
-
-# Set to true if you want the generated source code to contain
-# Extra methods for the collection fields, such as get/set using
-# the collection type in addition to the type-safe array.
-# Set this to true if you want your code to be more compatible
-# with Castor JDO. This is false by default.
-#
-#org.exolab.castor.builder.extraCollectionMethods=true
-
-# Use old-style (Castor 0.9.3.9) of naming that uppercases
-# names after an underscore
-#
-#org.exolab.castor.xml.JavaNaming.upperCaseAfterUnderscore=true
-
-# This property specifies whether generated enumerated type
-# classes implement the EnumeratedTypeAccess interface.
-# false by default
-#org.exolab.castor.builder.enumTypeAccessInterface=true
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/LICENSE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/LICENSE.txt
deleted file mode 100755
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/NOTICE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/pom.xml b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/pom.xml
deleted file mode 100755
index 8a76364cca..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/pom.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>databinding-jaxb</artifactId>
- <name>Apache Tuscany Data Binding for JAXB</name>
- <description>Tuscany JAXB Data Binding</description>
-
- <repositories>
- <repository>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <id>java.net</id>
- <name>java.net Maven 1.x Repository</name>
- <url>https://maven-repository.dev.java.net/nonav/repository</url>
- <layout>legacy</layout>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <id>java.net</id>
- <name>java.net Maven 1.x Repository</name>
- <url>https://maven-repository.dev.java.net/repository</url>
- <layout>legacy</layout>
- </pluginRepository>
- </pluginRepositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- <version>2.0</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-impl</artifactId>
- <version>2.0.2</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
-
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>add-test-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-test-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>target/jaxb-source</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>com.sun.tools.xjc.maven2</groupId>
- <artifactId>maven-jaxb-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>generate-jaxb</id>
- <phase>generate-test-sources</phase>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <generatePackage>com.example.ipo.jaxb</generatePackage>
- <generateDirectory>${project.build.directory}/jaxb-source</generateDirectory>
- <schemaDirectory>${basedir}/src/test/resources</schemaDirectory>
- <includeSchemas>
- <includeSchema>ipo.xsd</includeSchema>
- </includeSchemas>
- </configuration>
- </plugin>
-
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXB2Node.java b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXB2Node.java
deleted file mode 100755
index 90855b41b1..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXB2Node.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.jaxb;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.DOMHelper;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-@Service(Transformer.class)
-public class JAXB2Node extends TransformerExtension<Object, Node> implements PullTransformer<Object, Node> {
-
- public JAXB2Node() {
- super();
- }
-
- public Node transform(Object source, TransformationContext tContext) {
- if (source == null)
- return null;
- try {
- JAXBContext context = JAXBContextHelper.createJAXBContext(tContext, true);
- Marshaller marshaller = context.createMarshaller();
- // FIXME: The default Marshaller doesn't support
- // marshaller.getNode()
- Document document = DOMHelper.newDocument();
- marshaller.marshal(source, document);
- return document;
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return Object.class;
- }
-
- public Class getTargetType() {
- return Node.class;
- }
-
- public int getWeight() {
- return 30;
- }
-
- @Override
- public String getSourceDataBinding() {
- return JAXBDataBinding.NAME;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java
deleted file mode 100644
index 6f606dd757..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.jaxb;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.model.DataType;
-
-public class JAXBContextHelper {
- // TODO: Do we need to set them for source and target?
- public static final String JAXB_CLASSES = "jaxb.classes";
-
- public static final String JAXB_CONTEXT_PATH = "jaxb.contextPath";
-
- private JAXBContextHelper() {
- }
-
- public static JAXBContext createJAXBContext(TransformationContext tContext, boolean source) throws JAXBException {
- if (tContext == null)
- throw new TransformationException("JAXB context is not set for the transformation.");
-
- // FIXME: We should check the context path or classes
- // FIXME: What should we do if JAXB is an intermediate node?
- DataType<?> bindingContext = source ? tContext.getSourceDataType() : tContext.getTargetDataType();
- String contextPath = (String) bindingContext.getMetadata(JAXB_CONTEXT_PATH);
- JAXBContext context = null;
- if (contextPath != null)
- context = JAXBContext.newInstance(contextPath);
- else {
- Class[] classes = (Class[]) bindingContext.getMetadata(JAXB_CLASSES);
- context = JAXBContext.newInstance(classes);
- }
- if (context == null)
- throw new TransformationException("JAXB context is not set for the transformation.");
- return context;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java
deleted file mode 100644
index c43e9bcd42..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.jaxb;
-
-import java.beans.Introspector;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchema;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;
-import org.apache.tuscany.spi.model.DataType;
-
-/**
- * JAXB DataBinding
- */
-public class JAXBDataBinding extends DataBindingExtension {
-
- public static final String NAME = JAXBElement.class.getName();
-
- @Override
- public DataType introspect(Class<?> javaType) {
- if (JAXBElement.class.isAssignableFrom(javaType)) {
- Type type = javaType.getGenericSuperclass();
- if (type instanceof ParameterizedType) {
- ParameterizedType parameterizedType = ((ParameterizedType) type);
- Type rawType = parameterizedType.getRawType();
- if (rawType == JAXBElement.class) {
- Type actualType = parameterizedType.getActualTypeArguments()[0];
- if (actualType instanceof Class) {
- return introspect((Class<?>) actualType);
- }
- }
- }
- return new DataType<QName>(getName(), javaType, null);
- }
-
- String namespace = null;
- String name = null;
- Package pkg = javaType.getPackage();
- if (pkg != null) {
- XmlSchema schema = pkg.getAnnotation(XmlSchema.class);
- namespace = schema.namespace();
- }
- XmlType type = javaType.getAnnotation(XmlType.class);
- if (type != null) {
- String typeNamespace = type.namespace();
- String typeName = type.name();
-
- if (typeNamespace.equals("##default") && typeName.equals("")) {
- XmlRootElement rootElement = javaType.getAnnotation(XmlRootElement.class);
- if (rootElement != null) {
- namespace = rootElement.namespace();
- } else {
- // FIXME: The namespace should be from the referencing property
- namespace = null;
- }
- } else if (typeNamespace.equals("##default")) {
- // namespace is from the package
- } else {
- namespace = typeNamespace;
- }
-
- if (typeName.equals("##default")) {
- name = Introspector.decapitalize(javaType.getSimpleName());
- } else {
- name = typeName;
- }
- } else {
- XmlEnum xmlEnum = javaType.getAnnotation(XmlEnum.class);
- if (xmlEnum != null) {
- name = Introspector.decapitalize(javaType.getSimpleName());
- }
- }
- if (namespace == null && name == null) {
- return null;
- }
- QName xmlType = new QName(namespace, name);
- DataType<QName> dataType = new DataType<QName>(getName(), javaType, xmlType);
- return dataType;
- }
-
- public JAXBDataBinding() {
- super(NAME, JAXBElement.class);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandler.java b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandler.java
deleted file mode 100644
index 507f36eb19..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandler.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.jaxb;
-
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.Method;
-
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.annotation.XmlElementDecl;
-import javax.xml.bind.annotation.XmlRegistry;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.WrapperHandler;
-import org.apache.tuscany.spi.idl.ElementInfo;
-
-/**
- * JAXB WrapperHandler implementation
- */
-public class JAXBWrapperHandler implements WrapperHandler<JAXBElement<?>> {
-
- public JAXBElement<?> create(ElementInfo element, TransformationContext context) {
- try {
- String packageName = null;
- String factoryClassName = packageName + ".ObjectFactory";
- Class<?> factoryClass = Class.forName(factoryClassName, true, context.getClassLoader());
- assert factoryClass.isAnnotationPresent(XmlRegistry.class);
- Object factory = factoryClass.newInstance();
- QName elementName = element.getQName();
- Method method = null;
- for (Method m : factoryClass.getMethods()) {
- XmlElementDecl xmlElement = m.getAnnotation(XmlElementDecl.class);
- QName name = new QName(xmlElement.namespace(), xmlElement.name());
- if (xmlElement != null && name.equals(elementName)) {
- method = m;
- break;
- }
- }
- if (method != null) {
- Class typeClass = method.getParameterTypes()[0];
- Object value = typeClass.newInstance();
- return (JAXBElement<?>) method.invoke(factory, new Object[] { value });
- } else {
- throw new TransformationException("ObjectFactory cannot be resolved.");
- }
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Object getChild(JAXBElement<?> wrapper, int i, ElementInfo element) {
- try {
- Object value = wrapper.getValue();
- PropertyDescriptor descriptors[] =
- Introspector.getBeanInfo(wrapper.getDeclaredType()).getPropertyDescriptors();
- for (PropertyDescriptor d : descriptors) {
- if (d.getName().equals(element.getQName().getLocalPart())) {
- return d.getReadMethod().invoke(value, new Object[] {});
- }
- }
- return null;
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public void setChild(JAXBElement<?> wrapper, int i, ElementInfo childElement, Object value) {
- try {
- Object wrapperValue = wrapper.getValue();
- PropertyDescriptor descriptors[] =
- Introspector.getBeanInfo(wrapper.getDeclaredType()).getPropertyDescriptors();
- for (PropertyDescriptor d : descriptors) {
- if (d.getName().equals(childElement.getQName().getLocalPart())) {
- d.getWriteMethod().invoke(wrapperValue, new Object[] { value });
- break;
- }
- }
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/Node2JAXB.java b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/Node2JAXB.java
deleted file mode 100755
index ddb81c2eae..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/Node2JAXB.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.jaxb;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Unmarshaller;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-import org.w3c.dom.Node;
-
-@Service(Transformer.class)
-public class Node2JAXB extends TransformerExtension<Node, Object> implements PullTransformer<Node, Object> {
-
- public Node2JAXB() {
- super();
- }
-
- public Object transform(Node source, TransformationContext context) {
- if (source == null)
- return null;
- try {
- JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, false);
- Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
- return unmarshaller.unmarshal(source);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return Node.class;
- }
-
- public Class getTargetType() {
- return Object.class;
- }
-
- public int getWeight() {
- return 30;
- }
-
- @Override
- public String getTargetDataBinding() {
- return JAXBDataBinding.NAME;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/Reader2JAXB.java b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/Reader2JAXB.java
deleted file mode 100644
index 36e05dd953..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/Reader2JAXB.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.jaxb;
-
-import java.io.Reader;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.stream.StreamSource;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-@Service(Transformer.class)
-public class Reader2JAXB extends TransformerExtension<Reader, Object> implements
- PullTransformer<Reader, Object> {
-
- public Reader2JAXB() {
- super();
- }
-
- public Object transform(Reader source, TransformationContext context) {
- if (source == null)
- return null;
- try {
- JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, false);
- Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
- StreamSource streamSource = new StreamSource(source);
- return unmarshaller.unmarshal(streamSource);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return Reader.class;
- }
-
- public Class getTargetType() {
- return Object.class;
- }
-
- public int getWeight() {
- return 30;
- }
-
- @Override
- public String getTargetDataBinding() {
- return JAXBDataBinding.NAME;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/XMLStreamReader2JAXB.java b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/XMLStreamReader2JAXB.java
deleted file mode 100755
index 23d2586613..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/XMLStreamReader2JAXB.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.jaxb;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-@Service(Transformer.class)
-public class XMLStreamReader2JAXB extends TransformerExtension<XMLStreamReader, Object> implements
- PullTransformer<XMLStreamReader, Object> {
-
- public XMLStreamReader2JAXB() {
- super();
- }
-
- public Object transform(XMLStreamReader source, TransformationContext context) {
- if (source == null)
- return null;
- try {
- JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, false);
- Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
- return unmarshaller.unmarshal(source);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return XMLStreamReader.class;
- }
-
- public Class getTargetType() {
- return Object.class;
- }
-
- public int getWeight() {
- return 10;
- }
-
- @Override
- public String getTargetDataBinding() {
- return JAXBDataBinding.NAME;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 2b86e506eb..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.JAXB">
-
- <component name="databinding.jaxb">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.JAXBDataBinding" />
- </component>
-
- <component name="transformer.XMLStreamReader2JAXB">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.XMLStreamReader2JAXB" />
- </component>
-
- <component name="transformer.Node2JAXB">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.Node2JAXB" />
- </component>
-
- <component name="transformer.JAXB2Node">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.JAXB2Node" />
- </component>
-
- <component name="transformer.Reader2JAXB">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.Reader2JAXB" />
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java
deleted file mode 100644
index 1b80be724f..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.jaxb;
-
-import javax.xml.bind.JAXBElement;
-import javax.xml.namespace.QName;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.spi.model.DataType;
-
-import com.example.ipo.jaxb.PurchaseOrderType;
-import com.example.ipo.jaxb.USAddress;
-import com.example.ipo.jaxb.USState;
-
-/**
- *
- */
-public class JAXBDataBindingTestCase extends TestCase {
- private JAXBDataBinding binding;
-
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- binding = new JAXBDataBinding();
- }
-
- /**
- * Test method for {@link org.apache.tuscany.databinding.jaxb.JAXBDataBinding#introspect(java.lang.Class)}.
- */
- public final void testIntrospect() {
- DataType<?> dataType = binding.introspect(JAXBElement.class);
- Assert.assertTrue(dataType.getDataBinding().equals(binding.getName()));
- Assert.assertTrue(dataType.getPhysical() == JAXBElement.class && dataType.getLogical() == null);
- dataType = binding.introspect(MockJAXBElement.class);
- Assert.assertEquals(PurchaseOrderType.class, dataType.getPhysical());
- Assert.assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), dataType.getLogical());
- dataType = binding.introspect(USAddress.class);
- Assert.assertEquals(USAddress.class, dataType.getPhysical());
- Assert.assertEquals(new QName("http://www.example.com/IPO", "USAddress"), dataType.getLogical());
- dataType = binding.introspect(USState.class);
- Assert.assertTrue(dataType.getDataBinding().equals(binding.getName()));
- Assert.assertEquals(USState.class, dataType.getPhysical());
- Assert.assertEquals(new QName("http://www.example.com/IPO", "USState"), dataType.getLogical());
-
- }
-
- private static class MockJAXBElement extends JAXBElement<PurchaseOrderType> {
-
- private static final long serialVersionUID = -2767569071002707973L;
-
- /**
- * @param elementName
- * @param type
- * @param value
- */
- public MockJAXBElement(QName elementName, Class<PurchaseOrderType> type, PurchaseOrderType value) {
- super(elementName, type, value);
- }
-
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java
deleted file mode 100755
index ebc537805e..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.jaxb;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-
-import java.io.StringReader;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.model.DataType;
-import org.w3c.dom.Node;
-
-public class JAXBTestCase extends TestCase {
- private static final String IPO_XML =
- "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
- + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
- + " xmlns:ipo=\"http://www.example.com/IPO\""
- + " xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\""
- + " orderDate=\"1999-12-01\">"
- + " <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">"
- + " <name>Helen Zoe</name>"
- + " <street>47 Eden Street</street>"
- + " <city>Cambridge</city>"
- + " <postcode>CB1 1JR</postcode>"
- + " </shipTo>"
- + " <billTo xsi:type=\"ipo:USAddress\">"
- + " <name>Robert Smith</name>"
- + " <street>8 Oak Avenue</street>"
- + " <city>Old Town</city>"
- + " <state>PA</state>"
- + " <zip>95819</zip>"
- + " </billTo>"
- + " <items>"
- + " <item partNum=\"833-AA\">"
- + " <productName>Lapis necklace</productName>"
- + " <quantity>1</quantity>"
- + " <USPrice>99.95</USPrice>"
- + " <ipo:comment>Want this for the holidays</ipo:comment>"
- + " <shipDate>1999-12-05</shipDate>"
- + " </item>"
- + " </items>"
- + "</ipo:purchaseOrder>";
-
- private String contextPath = "com.example.ipo.jaxb";
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- public void testTransform() throws Exception {
- Reader2JAXB t0 = new Reader2JAXB();
-
- DataType targetDataType = new DataType<Class>(Object.class, null);
- targetDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
-
- TransformationContext tContext = createMock(TransformationContext.class);
- expect(tContext.getTargetDataType()).andReturn(targetDataType).anyTimes();
- replay(tContext);
-
- Object object1 = t0.transform(new StringReader(IPO_XML), tContext);
-
- DataType sourceDataType = new DataType<Class>(Object.class, null);
- sourceDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
-
- TransformationContext tContext1 = createMock(TransformationContext.class);
- expect(tContext1.getSourceDataType()).andReturn(sourceDataType).anyTimes();
- replay(tContext1);
-
- JAXB2Node t1 = new JAXB2Node();
- Node node = t1.transform(object1, tContext1);
-
- Assert.assertNotNull(node);
-
- Node2JAXB t2 = new Node2JAXB();
- Object object2 = t2.transform(node, tContext);
- Assert.assertNotNull(object2);
-
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/resources/ipo.xsd b/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/resources/ipo.xsd
deleted file mode 100755
index 241ec15d36..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-jaxb/src/test/resources/ipo.xsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/LICENSE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/LICENSE.txt
deleted file mode 100755
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/NOTICE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/pom.xml b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/pom.xml
deleted file mode 100755
index a7091dcc90..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/pom.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>databinding-sdo</artifactId>
- <name>Apache Tuscany Data Binding for SDO</name>
- <description>Data Binding based on SDO.</description>
-
- <!-- include incubator repo as a plugin repo -->
- <pluginRepositories>
- <pluginRepository>
- <id>apache.incubator</id>
- <name>Apache Incubator Repository</name>
- <url>http://people.apache.org/repo/m2-incubating-repository/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sdo</groupId>
- <artifactId>tuscany-sdo-impl</artifactId>
- <version>1.0-incubator-M2</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>core</artifactId>
- <version>${pom.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>add-test-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-test-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>target/sdo-source</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.tuscany.sdo</groupId>
- <artifactId>tuscany-sdo-plugin</artifactId>
- <version>1.0-incubator-M2</version>
- <executions>
- <execution>
- <id>generate-sdo</id>
- <phase>generate-test-sources</phase>
- <configuration>
- <schemaFile>${basedir}/src/test/resources/ipo.xsd</schemaFile>
- <javaPackage>com.example.ipo.sdo</javaPackage>
- <noNotification>true</noNotification>
- <noContainer>true</noContainer>
- <noUnsettable>true</noUnsettable>
- </configuration>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2String.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2String.java
deleted file mode 100755
index bae01a69b2..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2String.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-
-@Service(Transformer.class)
-public class DataObject2String extends TransformerExtension<DataObject, String> implements
- PullTransformer<DataObject, String> {
-
- private static final String TUSCANY_SDO = "http://incubator.apache.org/tuscany/xmlns/sdo/1.0-incubator-M2";
-
- public String transform(DataObject source, TransformationContext context) {
- try {
- TypeHelper typeHelper = SDODataTypeHelper.getTypeHelper(context);
- XMLHelper xmlHelper = SDOUtil.createXMLHelper(typeHelper);
- Object logicalType = context.getSourceDataType().getLogical();
- if (logicalType instanceof QName) {
- QName elementName = (QName) logicalType;
- return xmlHelper.save(source, elementName.getNamespaceURI(), elementName.getLocalPart());
- } else {
- return xmlHelper.save(source, TUSCANY_SDO, "dataObject");
- }
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return DataObject.class;
- }
-
- public Class getTargetType() {
- return String.class;
- }
-
- public int getWeight() {
- return 40;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReader.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReader.java
deleted file mode 100755
index 8caba8458d..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.helper.XMLStreamHelper;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-@Service(Transformer.class)
-public class DataObject2XMLStreamReader extends TransformerExtension<DataObject, XMLStreamReader> implements
- PullTransformer<DataObject, XMLStreamReader> {
-
- public XMLStreamReader transform(DataObject source, TransformationContext context) {
- try {
- TypeHelper typeHelper = SDODataTypeHelper.getTypeHelper(context);
- XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(typeHelper);
- Object logicalType = context.getSourceDataType().getLogical();
- QName elementName =
- (logicalType instanceof QName) ? (QName) logicalType : new QName("commonj.sdo", "dataObject");
- XMLHelper xmlHelper = SDOUtil.createXMLHelper(typeHelper);
- XMLDocument document =
- xmlHelper.createDocument(source, elementName.getNamespaceURI(), elementName.getLocalPart());
- return streamHelper.createXMLStreamReader(document);
- } catch (XMLStreamException e) {
- // TODO: Add context to the exception
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return DataObject.class;
- }
-
- public Class getTargetType() {
- return XMLStreamReader.class;
- }
-
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObjectLoader.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObjectLoader.java
deleted file mode 100755
index cd45575004..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObjectLoader.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.helper.XMLStreamHelper;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.StAXElementLoader;
-import org.apache.tuscany.spi.model.ModelObject;
-import org.apache.tuscany.spi.annotation.Autowire;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Destroy;
-
-/**
- * A SDO model-based Loader to load DataObject from the XML stream
- *
- */
-public class DataObjectLoader implements StAXElementLoader<ModelObject> {
- protected LoaderRegistry registry;
- private QName propertyQName;
-
- public DataObjectLoader(Property property) {
- super();
- this.propertyQName = new QName(XSDHelper.INSTANCE.getNamespaceURI(property),
- XSDHelper.INSTANCE.getLocalName(property));
- }
-
- public DataObjectLoader(QName propertyQName) {
- super();
- this.propertyQName = propertyQName;
- }
-
- public ModelObject load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
- assert propertyQName.equals(reader.getName());
- // TODO: We need a way to get TypeHelper from deploymentContext
- TypeHelper typeHelper = TypeHelper.INSTANCE;
- XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(typeHelper);
- DataObject dataObject = streamHelper.loadObject(reader);
- // TODO: Is it required that the object always extends from ModelObject?
- return new ModelDataObject(dataObject);
- }
-
- @Autowire
- public void setRegistry(LoaderRegistry registry) {
- this.registry = registry;
- }
-
- @Init(eager = true)
- public void start() {
- registry.registerLoader(propertyQName, this);
- }
-
- @Destroy
- public void stop() {
- registry.unregisterLoader(propertyQName, this);
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
deleted file mode 100755
index ac8ca776c9..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.net.URL;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-import org.apache.tuscany.spi.model.ModelObject;
-import org.osoa.sca.annotations.Constructor;
-
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * Loader that handles &lt;import.sdo&gt; elements.
- *
- * @version $Rev$ $Date$
- */
-public class ImportSDOLoader extends LoaderExtension {
- public static final QName IMPORT_SDO =
- new QName("http://incubator.apache.org/tuscany/xmlns/databinding/sdo/1.0-incubator-M2", "import.sdo");
-
- @Constructor( { "registry" })
- public ImportSDOLoader(@Autowire LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return IMPORT_SDO;
- }
-
- public ModelObject load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
- assert IMPORT_SDO.equals(reader.getName());
-
- // FIXME: [rfeng] How to associate the TypeHelper with deployment context?
- TypeHelper typeHelper = TypeHelper.INSTANCE;
- if (deploymentContext != null && deploymentContext.getParent() != null) {
- typeHelper = (TypeHelper) deploymentContext.getParent().getExtension(TypeHelper.class.getName());
- if (typeHelper == null) {
- typeHelper = SDOUtil.createTypeHelper();
- deploymentContext.getParent().putExtension(TypeHelper.class.getName(), typeHelper);
- }
- }
-
- importFactory(reader, deploymentContext);
- importWSDL(reader, deploymentContext, typeHelper);
- LoaderUtil.skipToEndElement(reader);
- return new SDOType(typeHelper);
- }
-
- private void importFactory(XMLStreamReader reader, DeploymentContext deploymentContext) throws LoaderException {
- String factoryName = reader.getAttributeValue(null, "factory");
- if (factoryName != null) {
- ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
- try {
- // set TCCL as SDO needs it
- ClassLoader cl = deploymentContext.getClassLoader();
- Thread.currentThread().setContextClassLoader(cl);
- Class<?> factoryClass = cl.loadClass(factoryName);
- // FIXME: We require the SDO to provide an API to register static types in a given TypeHelper
- SDOUtil.registerStaticTypes(factoryClass);
- } catch (ClassNotFoundException e) {
- throw new LoaderException(e.getMessage(), e);
- } finally {
- Thread.currentThread().setContextClassLoader(oldCL);
- }
- }
- }
-
- private void importWSDL(XMLStreamReader reader, DeploymentContext deploymentContext, TypeHelper typeHelper)
- throws LoaderException {
- String location = reader.getAttributeValue(null, "location");
- if (location == null)
- location = reader.getAttributeValue(null, "wsdlLocation");
- if (location != null) {
- try {
- URL wsdlURL = null;
- URI uri = URI.create(location);
- if (uri.isAbsolute()) {
- wsdlURL = uri.toURL();
- }
- wsdlURL = deploymentContext.getClassLoader().getResource(location);
- if (null == wsdlURL) {
- LoaderException loaderException = new LoaderException("WSDL location error");
- loaderException.setResourceURI(location);
- throw loaderException;
- }
- InputStream xsdInputStream = wsdlURL.openStream();
- try {
- XSDHelper xsdHelper = SDOUtil.createXSDHelper(typeHelper);
- xsdHelper.define(xsdInputStream, wsdlURL.toExternalForm());
- } finally {
- xsdInputStream.close();
- }
- } catch (IOException e) {
- LoaderException sfe = new LoaderException(e.getMessage());
- sfe.setResourceURI(location);
- throw sfe;
- }
- }
- }
-
- public static class SDOType extends ModelObject {
- private TypeHelper typeHelper;
-
- public SDOType(TypeHelper typeHelper) {
- super();
- this.typeHelper = typeHelper;
- }
-
- public TypeHelper getTypeHelper() {
- return typeHelper;
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ModelDataObject.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ModelDataObject.java
deleted file mode 100755
index a3870b5e9a..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ModelDataObject.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import org.apache.tuscany.spi.model.ModelObject;
-
-import commonj.sdo.DataObject;
-
-public class ModelDataObject extends ModelObject {
- private DataObject dataObject;
-
- public ModelDataObject(DataObject dataObject) {
- super();
- this.dataObject = dataObject;
- }
-
- public DataObject getDataObject() {
- return dataObject;
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
deleted file mode 100644
index 213dfd9280..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.databinding.WrapperHandler;
-import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;
-import org.apache.tuscany.spi.model.DataType;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- *
- */
-public class SDODataBinding extends DataBindingExtension {
- private WrapperHandler<Object> wrapperHandler;
-
- @Override
- public DataType introspect(Class<?> javaType) {
- if (javaType == DataObject.class) {
- return new DataType<QName>(getName(), javaType, null);
- }
- Type type = TypeHelper.INSTANCE.getType(javaType);
- if (type == null || type.isDataType()) {
- return null;
- }
- String namespace = type.getURI();
- String name = XSDHelper.INSTANCE.getLocalName(type);
- QName xmlType = new QName(namespace, name);
- DataType<QName> dataType = new DataType<QName>(getName(), javaType, xmlType);
- return dataType;
- }
-
- public SDODataBinding() {
- super(DataObject.class);
- wrapperHandler = new SDOWrapperHandler();
- }
-
- @Override
- public WrapperHandler getWrapperHandler() {
- return wrapperHandler;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java
deleted file mode 100644
index 9d88c9fa58..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.sdo;
-
-import org.apache.tuscany.databinding.sdo.ImportSDOLoader.SDOType;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * Helper class to get TypeHelper from the transformation context
- */
-public class SDODataTypeHelper {
- private SDODataTypeHelper() {
- }
-
- public static TypeHelper getTypeHelper(TransformationContext context) {
- TypeHelper typeHelper = null;
- if (context == null || context.getMetadata() == null) {
- return TypeHelper.INSTANCE;
- }
- CompositeComponent composite = (CompositeComponent) context.getMetadata().get(CompositeComponent.class);
- if (composite != null) {
- SDOType sdoType = (SDOType) composite.getExtensions().get(SDOType.class);
- if (sdoType != null) {
- typeHelper = sdoType.getTypeHelper();
- }
- }
- if (typeHelper == null) {
- return TypeHelper.INSTANCE;
- }
- return typeHelper;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOObjectFactory.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOObjectFactory.java
deleted file mode 100755
index 0c3e74cdc7..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOObjectFactory.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.CopyHelper;
-import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.ObjectCreationException;
-
-/**
- * Creates new instances of an SDO
- *
- * @version $Rev$ $Date$
- */
-public class SDOObjectFactory implements ObjectFactory<DataObject> {
-
- private DataObject dataObject;
-
- public SDOObjectFactory(DataObject dataObject) {
- this.dataObject = dataObject;
- }
-
- public DataObject getInstance() throws ObjectCreationException {
- return CopyHelper.INSTANCE.copy(dataObject);
- }
-
- public void releaseInstance(DataObject instance) {
- }
-
-}
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java
deleted file mode 100644
index 78e2c4e0c2..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.idl.TypeInfo;
-
-import commonj.sdo.Type;
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * SDO Java/XML mapping for simple XSD types
- */
-public class SDOSimpleTypeMapper implements SimpleTypeMapper {
- public static final String URI_2001_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema";
-
- public SDOSimpleTypeMapper() {
- super();
- }
-
- public Object toJavaObject(TypeInfo simpleType, String value, TransformationContext context) {
- QName typeName = simpleType.getQName();
- Type type = null;
- if (URI_2001_SCHEMA_XSD.equals(typeName.getNamespaceURI())) {
- type = SDOUtil.getXSDSDOType(typeName.getLocalPart());
- } else {
- TypeHelper typeHelper = SDODataTypeHelper.getTypeHelper(context);
- type = typeHelper.getType(typeName.getNamespaceURI(), typeName.getLocalPart());
- }
- return SDOUtil.createFromString(type, value);
- }
-
- public String toXMLLiteral(TypeInfo simpleType, Object obj, TransformationContext context) {
- QName typeName = simpleType.getQName();
- Type type = null;
- if (URI_2001_SCHEMA_XSD.equals(typeName.getNamespaceURI())) {
- type = SDOUtil.getXSDSDOType(typeName.getLocalPart());
- } else {
- TypeHelper typeHelper = SDODataTypeHelper.getTypeHelper(context);
- if (typeHelper == null) {
- typeHelper = TypeHelper.INSTANCE;
- }
- type = typeHelper.getType(typeName.getNamespaceURI(), typeName.getLocalPart());
- }
- return SDOUtil.convertToString(type, obj);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java
deleted file mode 100644
index d34b389458..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.WrapperHandler;
-import org.apache.tuscany.spi.idl.ElementInfo;
-import org.apache.tuscany.spi.model.DataType;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-/**
- * SDO Wrapper Handler
- */
-public class SDOWrapperHandler implements WrapperHandler<Object> {
-
- /**
- * @see org.apache.tuscany.spi.databinding.WrapperHandler#create(ElementInfo,
- * TransformationContext)
- */
- public Object create(ElementInfo element, TransformationContext context) {
- TypeHelper typeHelper = TypeHelper.INSTANCE;
- if (context != null) {
- DataType targetType = context.getTargetDataType();
- if (targetType != null) {
- typeHelper = (TypeHelper) targetType.getMetadata(TypeHelper.class.getName());
- if (typeHelper == null) {
- typeHelper = TypeHelper.INSTANCE;
- }
- }
- }
- QName typeName = element.getType().getQName();
- DataFactory dataFactory = SDOUtil.createDataFactory(typeHelper);
- DataObject root = dataFactory.create(typeName.getNamespaceURI(), typeName.getLocalPart());
- XMLHelper xmlHelper = SDOUtil.createXMLHelper(typeHelper);
- return xmlHelper.createDocument(root, element.getQName().getNamespaceURI(), element.getQName().getLocalPart());
- }
-
- /**
- * @see org.apache.tuscany.spi.databinding.WrapperHandler#getChild(java.lang.Object, int,
- * ElementInfo)
- */
- public Object getChild(Object wrapper, int i, ElementInfo element) {
- DataObject wrapperDO =
- (wrapper instanceof XMLDocument) ? ((XMLDocument) wrapper).getRootObject() : (DataObject) wrapper;
- return wrapperDO.get(element.getQName().getLocalPart());
- }
-
- /**
- * @see org.apache.tuscany.spi.databinding.WrapperHandler#setChild(java.lang.Object, int,
- * ElementInfo, java.lang.Object)
- */
- public void setChild(Object wrapper, int i, ElementInfo childElement, Object value) {
- DataObject wrapperDO =
- (wrapper instanceof XMLDocument) ? ((XMLDocument) wrapper).getRootObject() : (DataObject) wrapper;
- wrapperDO.set(childElement.getQName().getLocalPart(), value);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/String2DataObject.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/String2DataObject.java
deleted file mode 100755
index 81b0b7dbcc..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/String2DataObject.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-
-@Service(Transformer.class)
-public class String2DataObject extends TransformerExtension<String, DataObject> implements PullTransformer<String, DataObject> {
-
- public DataObject transform(String source, TransformationContext context) {
- try {
- TypeHelper typeHelper = SDODataTypeHelper.getTypeHelper(context);
- XMLHelper xmlHelper = SDOUtil.createXMLHelper(typeHelper);
- return xmlHelper.load(source).getRootObject();
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return String.class;
- }
-
- public Class getTargetType() {
- return DataObject.class;
- }
-
- public int getWeight() {
- return 50;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2String.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2String.java
deleted file mode 100644
index 8870000838..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2String.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import java.io.StringWriter;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-@Service(Transformer.class)
-public class XMLDocument2String extends TransformerExtension<XMLDocument, String> implements
- PullTransformer<XMLDocument, String> {
-
- public String transform(XMLDocument source, TransformationContext context) {
- try {
- TypeHelper typeHelper = SDODataTypeHelper.getTypeHelper(context);
- XMLHelper xmlHelper = SDOUtil.createXMLHelper(typeHelper);
- StringWriter writer = new StringWriter();
- xmlHelper.save(source, writer, null);
- return writer.toString();
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return XMLDocument.class;
- }
-
- public Class getTargetType() {
- return String.class;
- }
-
- public int getWeight() {
- return 40;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReader.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReader.java
deleted file mode 100755
index 92563f37d2..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReader.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.helper.XMLStreamHelper;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-
-@Service(Transformer.class)
-public class XMLDocument2XMLStreamReader extends TransformerExtension<XMLDocument, XMLStreamReader> implements PullTransformer<XMLDocument, XMLStreamReader> {
- /**
- * @param source
- * @param context
- * @return
- */
- public XMLStreamReader transform(XMLDocument source, TransformationContext context) {
- try {
- TypeHelper typeHelper = SDODataTypeHelper.getTypeHelper(context);
- XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(typeHelper);
- return streamHelper.createXMLStreamReader(source);
- } catch (XMLStreamException e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getSourceType() {
- return XMLDocument.class;
- }
-
- public Class getTargetType() {
- return XMLStreamReader.class;
- }
-
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2DataObject.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2DataObject.java
deleted file mode 100755
index e00396820a..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2DataObject.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.helper.XMLStreamHelper;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.TypeHelper;
-
-@Service(Transformer.class)
-public class XMLStreamReader2DataObject extends TransformerExtension<XMLStreamReader, DataObject> implements
- PullTransformer<XMLStreamReader, DataObject> {
-
- public DataObject transform(XMLStreamReader source, TransformationContext context) {
- try {
- TypeHelper typeHelper = SDODataTypeHelper.getTypeHelper(context);
- XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(typeHelper);
- // The XMLStreamHelper requires that the reader is posistioned at START_ELEMENT
- while (source.getEventType() != XMLStreamConstants.START_ELEMENT && source.hasNext()) {
- source.next();
- }
- return streamHelper.loadObject(source);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getTargetType() {
- return DataObject.class;
- }
-
- public Class getSourceType() {
- return XMLStreamReader.class;
- }
-
- public int getWeight() {
- return 15;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java
deleted file mode 100755
index 063fbca812..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sdo.helper.XMLStreamHelper;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.osoa.sca.annotations.Service;
-
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-
-@Service(Transformer.class)
-public class XMLStreamReader2XMLDocument extends TransformerExtension<XMLStreamReader, XMLDocument> implements
- PullTransformer<XMLStreamReader, XMLDocument> {
-
- public XMLDocument transform(XMLStreamReader source, TransformationContext context) {
- try {
- TypeHelper typeHelper = SDODataTypeHelper.getTypeHelper(context);
- XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(typeHelper);
- return streamHelper.load(source);
- } catch (Exception e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getTargetType() {
- return XMLDocument.class;
- }
-
- public Class getSourceType() {
- return XMLStreamReader.class;
- }
-
- public int getWeight() {
- return 15;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/databinding.sdo.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/databinding.sdo.scdl
deleted file mode 100644
index 245f06e1cd..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/databinding.sdo.scdl
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- SDO databinding extension
-
- This is the copy to be included by other extensions
-
- $Rev: 431086 $ $Date: 2006-08-12 13:58:17 -0700 (Sat, 12 Aug 2006) $
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.sdo.include">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.databinding</group>
- <name>databinding-sdo</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <!-- import.sdo element loader implementations -->
- <component name="elementLoader.import.sdo">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.ImportSDOLoader"/>
- </component>
-
- <component name="databinding.sdo">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.SDODataBinding" />
- </component>
-
- <component name="transformer.DataObject2String">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.DataObject2String"/>
- </component>
- <component name="transformer.DataObject2XMLStreamReader">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.DataObject2XMLStreamReader"/>
- </component>
- <component name="transformer.XMLDocument2String">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLDocument2String"/>
- </component>
- <component name="transformer.String2DataObject">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.String2DataObject"/>
- </component>
- <component name="transformer.XMLDocument2XMLStreamReader">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLDocument2XMLStreamReader"/>
- </component>
- <component name="transformer.XMLStreamReader2DataObject">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLStreamReader2DataObject"/>
- </component>
- <component name="transformer.XMLStreamReader2XMLDocument">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLStreamReader2XMLDocument"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index e554690be9..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- SDO databinding extension
-
- $Rev: 431086 $ $Date: 2006-08-12 13:58:17 -0700 (Sat, 12 Aug 2006) $
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.sdo">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.databinding</group>
- <name>databinding-sdo</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <!-- import.sdo element loader implementations -->
- <component name="elementLoader.import.sdo">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.ImportSDOLoader"/>
- </component>
-
- <component name="databinding.sdo">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.SDODataBinding" />
- </component>
-
- <component name="transformer.DataObject2String">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.DataObject2String"/>
- </component>
- <component name="transformer.DataObject2XMLStreamReader">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.DataObject2XMLStreamReader"/>
- </component>
- <component name="transformer.XMLDocument2String">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLDocument2String"/>
- </component>
- <component name="transformer.String2DataObject">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.String2DataObject"/>
- </component>
- <component name="transformer.XMLDocument2XMLStreamReader">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLDocument2XMLStreamReader"/>
- </component>
- <component name="transformer.XMLStreamReader2DataObject">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLStreamReader2DataObject"/>
- </component>
- <component name="transformer.XMLStreamReader2XMLDocument">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLStreamReader2XMLDocument"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObject2StringTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObject2StringTestCase.java
deleted file mode 100644
index 28a885cd16..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObject2StringTestCase.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-
-import junit.framework.Assert;
-
-import org.apache.tuscany.spi.model.DataType;
-
-import com.example.ipo.sdo.PurchaseOrderType;
-import commonj.sdo.DataObject;
-
-/**
- *
- */
-public class DataObject2StringTestCase extends SDOTransformerTestCaseBase {
- @Override
- protected DataType<?> getSourceDataType() {
- return new DataType<QName>(binding, PurchaseOrderType.class, orderQName);
- }
-
- @Override
- protected DataType<?> getTargetDataType() {
- return new DataType<Class<String>>(String.class, String.class);
- }
-
- public final void testTransform() {
- String xml = new DataObject2String().transform(dataObject, context);
- Assert.assertTrue(xml.indexOf("<city>San Jose</city>") != -1);
- DataObject po = new String2DataObject().transform(xml, reversedContext);
- Assert.assertTrue(po instanceof PurchaseOrderType);
- PurchaseOrderType orderType = (PurchaseOrderType) po;
- Assert.assertEquals("San Jose", orderType.getBillTo().getCity());
- }
-
- public final void testXML() {
- String xml =
- "<foo xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:ipo=\"http://www.example.com/IPO\" xsi:type=\"ipo:USAddress\"/>";
- DataObject dataObject = new String2DataObject().transform(xml, reversedContext);
- context.setSourceDataType(new DataType<QName>(DataObject.class.getName(), DataObject.class, null));
- xml = new DataObject2String().transform(dataObject, context);
- Assert.assertTrue(xml.contains("xsi:type=\"ipo:USAddress\""));
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReaderTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReaderTestCase.java
deleted file mode 100644
index 5ab23c6df1..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReaderTestCase.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.model.DataType;
-
-import com.example.ipo.sdo.PurchaseOrderType;
-
-/**
- *
- */
-public class DataObject2XMLStreamReaderTestCase extends SDOTransformerTestCaseBase {
-
- @Override
- protected DataType<?> getSourceDataType() {
- return new DataType<QName>(binding, PurchaseOrderType.class, orderQName);
- }
-
- @Override
- protected DataType<?> getTargetDataType() {
- return new DataType<Class<XMLStreamReader>>(XMLStreamReader.class, XMLStreamReader.class);
- }
-
- public final void testTransform() throws XMLStreamException {
- XMLStreamReader reader = new DataObject2XMLStreamReader().transform(dataObject, context);
- while (reader.hasNext()) {
- int event = reader.next();
- if (event == XMLStreamConstants.START_ELEMENT)
- break;
- }
- new XMLStreamReader2DataObject().transform(reader, reversedContext);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObjectLoaderTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObjectLoaderTestCase.java
deleted file mode 100755
index 8cdbf0a295..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObjectLoaderTestCase.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import java.io.StringReader;
-import java.net.URL;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.core.component.scope.ModuleScopeContainer;
-import org.apache.tuscany.core.deployer.RootDeploymentContext;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-
-import commonj.sdo.helper.XSDHelper;
-
-public class DataObjectLoaderTestCase extends TestCase {
-
- private XSDHelper xsdHelper = XSDHelper.INSTANCE;
-
- private QName name = new QName("http://www.osoa.org/xmlns/mock/0.9", "implementation.mock");
-
- private String xml = "<module name=\"m\" xmlns=\"http://www.osoa.org/xmlns/sca/0.9\" xmlns:mock=\"http://www.osoa.org/xmlns/mock/0.9\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.osoa.org/xmlns/mock/0.9 sca-implementation-mock.xsd http://www.osoa.org/xmlns/sca/0.9 sca-core.xsd \"><component name=\"c\"><mock:implementation.mock myAttr=\"helloworld.HelloWorldImpl\" /></component></module>";
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- URL url = getClass().getClassLoader().getResource("model/sca-implementation-mock.xsd");
- // URL url = getClass().getClassLoader().getResource("model/sca-core.xsd");
- xsdHelper.define(url.openStream(), url.toExternalForm());
- }
-
- public void testLoader() throws Exception {
- XMLInputFactory inputFactory = XMLInputFactory.newInstance();
- XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml));
- int event = reader.getEventType();
- while (!(event == XMLStreamConstants.START_ELEMENT && reader.getName().equals(name)) && reader.hasNext()) {
- event = reader.nextTag();
- }
- DataObjectLoader loader = new DataObjectLoader(name);
- DeploymentContext context = new RootDeploymentContext(getClass().getClassLoader(), inputFactory, new ModuleScopeContainer(), null);
- ModelDataObject modelObject = (ModelDataObject) loader.load(null, reader, context);
- Assert.assertNotNull(modelObject.getDataObject());
- Assert.assertTrue(modelObject.getDataObject().getString("myAttr").equals("helloworld.HelloWorldImpl"));
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOLoaderTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOLoaderTestCase.java
deleted file mode 100755
index b2acb139f9..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOLoaderTestCase.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sdo;
-
-import java.io.StringReader;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.core.deployer.RootDeploymentContext;
-import org.apache.tuscany.databinding.sdo.ImportSDOLoader.SDOType;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.loader.LoaderException;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ImportSDOLoaderTestCase extends TestCase {
- private static boolean inited;
-
- private ImportSDOLoader loader;
- private XMLInputFactory xmlFactory;
- private DeploymentContext deploymentContext;
-
- public void testMinimal() throws XMLStreamException, LoaderException {
- String xml = "<import.sdo xmlns='http://incubator.apache.org/tuscany/xmlns/databinding/sdo/1.0-incubator-M2'/>";
- XMLStreamReader reader = getReader(xml);
- assertTrue(loader.load(null, reader, deploymentContext) instanceof SDOType);
- }
-
- public void testLocation() throws XMLStreamException, LoaderException {
- String xml = "<import.sdo xmlns='http://incubator.apache.org/tuscany/xmlns/databinding/sdo/1.0-incubator-M2' location='ipo.xsd'/>";
- XMLStreamReader reader = getReader(xml);
- assertTrue(loader.load(null, reader, deploymentContext) instanceof SDOType);
- }
-
- public void testFactory() throws XMLStreamException, LoaderException {
- String xml = "<import.sdo xmlns='http://incubator.apache.org/tuscany/xmlns/databinding/sdo/1.0-incubator-M2' "
- + "factory='org.apache.tuscany.databinding.sdo.ImportSDOLoaderTestCase$MockFactory'/>";
- XMLStreamReader reader = getReader(xml);
- assertFalse(inited);
- assertTrue(loader.load(null, reader, deploymentContext) instanceof SDOType);
- assertTrue(inited);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- loader = new ImportSDOLoader(null);
- xmlFactory = XMLInputFactory.newInstance();
- deploymentContext = new RootDeploymentContext(getClass().getClassLoader(), xmlFactory, null, null);
- }
-
- protected XMLStreamReader getReader(String xml) throws XMLStreamException {
- XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(xml));
- reader.next();
- return reader;
- }
-
- public static class MockFactory {
- public static final Object INSTANCE = null;
-
- static {
- ImportSDOLoaderTestCase.inited = true;
- }
- }
-}
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDODataBindingTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDODataBindingTestCase.java
deleted file mode 100644
index 438de93c76..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDODataBindingTestCase.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.model.DataType;
-
-import com.example.ipo.sdo.PurchaseOrderType;
-import com.example.ipo.sdo.SdoFactory;
-import com.example.ipo.sdo.USAddress;
-import commonj.sdo.DataObject;
-
-/**
- *
- */
-public class SDODataBindingTestCase extends TestCase {
- private SDODataBinding binding;
-
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- binding = new SDODataBinding();
- SDOUtil.registerStaticTypes(SdoFactory.class);
- }
-
- public final void testIntrospect() {
- DataType<?> dataType = binding.introspect(DataObject.class);
- Assert.assertTrue(dataType.getDataBinding().equals(binding.getName()));
- Assert.assertTrue(dataType.getPhysical() == DataObject.class && dataType.getLogical() == null);
- dataType = binding.introspect(PurchaseOrderType.class);
- Assert.assertEquals(PurchaseOrderType.class, dataType.getPhysical());
- Assert.assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), dataType.getLogical());
- dataType = binding.introspect(USAddress.class);
- Assert.assertEquals(USAddress.class, dataType.getPhysical());
- Assert.assertEquals(new QName("http://www.example.com/IPO", "USAddress"), dataType.getLogical());
- }
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDOTransformerTestCaseBase.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDOTransformerTestCaseBase.java
deleted file mode 100644
index 848dde6e13..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDOTransformerTestCaseBase.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.core.databinding.impl.TransformationContextImpl;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.model.DataType;
-
-import com.example.ipo.sdo.PurchaseOrderType;
-import com.example.ipo.sdo.SdoFactory;
-import com.example.ipo.sdo.USAddress;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-/**
- * The base class for SDO-related test cases
- */
-public abstract class SDOTransformerTestCaseBase extends TestCase {
- protected String binding = DataObject.class.getName();
-
- protected static final QName orderQName = new QName("http://www.example.com/IPO", "purchaseOrder");
-
- protected TransformationContext context;
- protected TransformationContext reversedContext;
- protected DataObject dataObject;
-
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- SDOUtil.registerStaticTypes(SdoFactory.class);
- context = new TransformationContextImpl();
- context.setSourceDataType(getSourceDataType());
- context.setTargetDataType(getTargetDataType());
-
- reversedContext = new TransformationContextImpl();
- reversedContext.setSourceDataType(getTargetDataType());
- reversedContext.setTargetDataType(getSourceDataType());
-
- PurchaseOrderType po = SdoFactory.INSTANCE.createPurchaseOrderType();
- USAddress address = SdoFactory.INSTANCE.createUSAddress();
- address.setCity("San Jose");
- address.setStreet("123 ABC St");
- address.setState("CA");
- address.setStreet("95131");
- po.setBillTo(address);
- dataObject = (DataObject) po;
- }
-
- protected abstract DataType<?> getSourceDataType();
-
- protected abstract DataType<?> getTargetDataType();
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReaderTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReaderTestCase.java
deleted file mode 100644
index a7f391216b..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReaderTestCase.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.sdo;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.Assert;
-
-import org.apache.tuscany.spi.model.DataType;
-
-import com.example.ipo.sdo.PurchaseOrderType;
-
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-/**
- *
- */
-public class XMLDocument2XMLStreamReaderTestCase extends SDOTransformerTestCaseBase {
-
- @Override
- protected DataType<?> getSourceDataType() {
- return new DataType<QName>(XMLDocument.class.getName(), XMLDocument.class, orderQName);
- }
-
- @Override
- protected DataType<?> getTargetDataType() {
- return new DataType<Class<XMLStreamReader>>(XMLStreamReader.class, XMLStreamReader.class);
- }
-
- public final void testTransform() throws XMLStreamException {
- XMLDocument document =
- XMLHelper.INSTANCE.createDocument(dataObject, orderQName.getNamespaceURI(), orderQName.getLocalPart());
- XMLStreamReader reader = new XMLDocument2XMLStreamReader().transform(document, context);
- XMLDocument document2 = new XMLStreamReader2XMLDocument().transform(reader, reversedContext);
- Assert.assertEquals(orderQName.getNamespaceURI(), document2.getRootElementURI());
- Assert.assertEquals(orderQName.getLocalPart(), document2.getRootElementName());
- Assert.assertTrue(document2.getRootObject() instanceof PurchaseOrderType);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/META-INF/tuscany/databinding.sdo.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/META-INF/tuscany/databinding.sdo.scdl
deleted file mode 100644
index 70b4028e8a..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/META-INF/tuscany/databinding.sdo.scdl
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- import.sdo configuration
-
- $Rev: 431086 $ $Date: 2006-08-12 13:58:17 -0700 (Sat, 12 Aug 2006) $
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.sdo">
-
- <!-- import.sdo element loader implementations -->
- <component name="elementLoader.import.sdo">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.ImportSDOLoader"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/ipo.xsd b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/ipo.xsd
deleted file mode 100755
index 241ec15d36..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/ipo.xsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/model/sca-core.xsd b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/model/sca-core.xsd
deleted file mode 100755
index 56c6977254..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/model/sca-core.xsd
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.osoa.org/xmlns/sca/0.9"
- xmlns:sca="http://www.osoa.org/xmlns/sca/0.9"
- elementFormDefault="qualified">
-
- <element name="componentType" type="sca:ComponentType"/>
- <complexType name="ComponentType">
- <sequence>
- <element minOccurs="0" maxOccurs="unbounded" name="service" type="sca:Service"/>
- <element minOccurs="0" maxOccurs="unbounded" name="reference" type="sca:Reference"/>
- <element minOccurs="0" maxOccurs="unbounded" name="property" type="sca:Property"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="Service">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:interface"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <element name="interface" type="sca:Interface"/>
- <complexType name="Interface"/>
-
- <complexType name="Reference">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:interface"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="Property">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="type" type="QName" use="required"/>
- <attribute name="many" type="boolean" default="false" use="optional"/>
- <attribute name="required" type="boolean" default="false" use="optional"/>
- <attribute name="default" type="string" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
-
- <element name="moduleFragment" type="sca:ModuleFragment"/>
- <complexType name="ModuleFragment">
- <sequence>
- <element minOccurs="0" maxOccurs="unbounded" name="entryPoint" type="sca:EntryPoint"/>
- <element minOccurs="0" maxOccurs="unbounded" name="component" type="sca:Component"/>
- <element minOccurs="0" maxOccurs="unbounded" name="externalService" type="sca:ExternalService"/>
- <element minOccurs="0" maxOccurs="unbounded" name="wire" type="sca:ModuleWire"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <element name="module" type="sca:Module"/>
- <complexType name="Module">
- <complexContent>
- <extension base="sca:ModuleFragment"/>
- </complexContent>
- </complexType>
-
- <complexType name="EntryPoint">
- <sequence>
- <element minOccurs="0" maxOccurs="1" ref="sca:interface"/>
- <element minOccurs="1" maxOccurs="unbounded" ref="sca:binding"/>
- <element minOccurs="1" maxOccurs="unbounded" name="reference" type="anyURI"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
- <!-- a multiplicity 1..1 or 0..n sample
- <reference>StockQuoteComponent</reference> - type must be URI
- a multiplicity 1..n or 0..n sample
- <reference>StockQuoteComponent1</reference> - type must be URI
- <reference>StockQuoteComponent2</reference>
- -->
-
- <element name="binding" type="sca:Binding"/>
- <complexType name="Binding">
- <attribute name="uri" type="anyURI" use="optional"/>
- </complexType>
-
- <complexType name="Component">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:implementation"/>
- <element minOccurs="0" maxOccurs="1" name="properties" type="sca:PropertyValues"/>
- <element minOccurs="0" maxOccurs="1" name="references" type="sca:ReferenceValues"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
- <!-- a multiplicity 1..1 or 0..1 sample
- <references>
- <v:stockQuote>StockQuoteComponent</v:stockquote> - type must be URI
- </references>
- a multiplicity 1..n or 0..n sample
- <references>
- <v:stockQuote>StockQuoteComponent1</v:stockQuote> - type must be URI
- <v:stockQuote>StockQuoteComponent2</v:stockQuote>
- </references>
- -->
-
- <element name="implementation" type="sca:Implementation"/>
- <complexType name="Implementation"/>
-
- <complexType name="PropertyValues">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="ReferenceValues">
- <sequence>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
-
- <complexType name="ExternalService">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:interface"/>
- <element minOccurs="0" maxOccurs="unbounded" ref="sca:binding"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="overridable" type="sca:OverrideOptions" default="may" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
-
- <complexType name="ModuleWire">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:source.uri"/>
- <element minOccurs="1" maxOccurs="1" ref="sca:target.uri"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <element name="source" type="anyType"/>
- <element name="target" type="anyType"/>
-
- <element name="source.uri" type="anyURI" substitutionGroup="sca:source"/>
- <element name="target.uri" type="anyURI" substitutionGroup="sca:target"/>
-
- <element name="subsystem" type="sca:Subsystem"/>
- <complexType name="Subsystem">
- <sequence>
- <element minOccurs="0" maxOccurs="unbounded" name="entryPoint" type="sca:EntryPoint"/>
- <element minOccurs="0" maxOccurs="unbounded" name="moduleComponent" type="sca:ModuleComponent"/>
- <element minOccurs="0" maxOccurs="unbounded" name="externalService" type="sca:ExternalService"/>
- <element minOccurs="0" maxOccurs="unbounded" name="wire" type="sca:SystemWire"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="uri" type="anyURI" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="ModuleComponent">
- <sequence>
- <element minOccurs="0" maxOccurs="1" name="properties" type="sca:PropertyValues"/>
- <element minOccurs="0" maxOccurs="1" name="references" type="sca:ReferenceValues"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="NCName" use="required"/>
- <attribute name="module" type="NCName" use="required"/>
- <attribute name="uri" type="anyURI" use="optional"/>
- <anyAttribute namespace="##any" processContents="lax"/>
- </complexType>
-
- <complexType name="SystemWire">
- <sequence>
- <element minOccurs="1" maxOccurs="1" ref="sca:source"/>
- <element minOccurs="1" maxOccurs="1" ref="sca:target"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="source.epr" type="anyType" substitutionGroup="sca:source"/>
- <element name="target.epr" type="anyType" substitutionGroup="sca:target"/>
-
- <simpleType name="Multiplicity">
- <restriction base="string">
- <enumeration value="0..1"/>
- <enumeration value="1..1"/>
- <enumeration value="0..n"/>
- <enumeration value="1..n"/>
- </restriction>
- </simpleType>
-
- <simpleType name="OverrideOptions">
- <restriction base="string">
- <enumeration value="no"/>
- <enumeration value="may"/>
- <enumeration value="must"/>
- </restriction>
- </simpleType>
-
-</schema>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/model/sca-implementation-mock.xsd b/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/model/sca-implementation-mock.xsd
deleted file mode 100755
index bbaf58f00c..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-sdo/src/test/resources/model/sca-implementation-mock.xsd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.osoa.org/xmlns/mock/0.9"
- elementFormDefault="qualified"
- xmlns:mock="http://www.osoa.org/xmlns/mock/0.9"
- xmlns:sca="http://www.osoa.org/xmlns/sca/0.9">
-
- <import namespace="http://www.osoa.org/xmlns/sca/0.9"
- schemaLocation="sca-core.xsd" />
-
- <element name="implementation.mock" type="mock:MockImplementation"
- substitutionGroup="sca:implementation" />
- <complexType name="MockImplementation">
- <complexContent>
- <extension base="sca:Implementation">
- <sequence>
- <any namespace="##other" processContents="lax"
- minOccurs="0" maxOccurs="unbounded" />
- </sequence>
- <attribute name="myAttr" type="NCName" use="required" />
- <anyAttribute namespace="##any" processContents="lax" />
- </extension>
- </complexContent>
- </complexType>
-</schema>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/LICENSE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-test/LICENSE.txt
deleted file mode 100755
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/NOTICE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-test/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/pom.xml b/branches/sca-java-M2/sca/services/databinding/databinding-test/pom.xml
deleted file mode 100755
index 6a91a4007f..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/pom.xml
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <artifactId>databinding-test</artifactId>
- <packaging>jar</packaging>
- <name>Apache Tuscany Data Binding Integration Test</name>
- <description>Apache Tuscany Data Binding Integration Test</description>
-
- <repositories>
- <repository>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <id>java.net</id>
- <name>java.net Maven 1.x Repository</name>
- <url>https://maven-repository.dev.java.net/nonav/repository</url>
- <layout>legacy</layout>
- </repository>
- </repositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>databinding-jaxb</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>databinding-xmlbeans</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>databinding-axiom</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>databinding-sdo</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>wsdl</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
-
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-impl</artifactId>
- <version>2.0.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>add-test-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-test-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>target/jaxb-source</source>
- <source>target/sdo-source</source>
- <source>target/xmlbeans-source</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.tuscany.sdo</groupId>
- <artifactId>tuscany-sdo-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-sdo</id>
- <phase>generate-sources</phase>
- <configuration>
- <schemaFile>${basedir}/src/test/resources/ipo.xsd</schemaFile>
- <javaPackage>com.example.ipo.sdo</javaPackage>
- <noNotification>true</noNotification>
- <noContainer>true</noContainer>
- <noUnsettable>true</noUnsettable>
- </configuration>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>com.sun.tools.xjc.maven2</groupId>
- <artifactId>maven-jaxb-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>generate-jaxb</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <generatePackage>com.example.ipo.jaxb</generatePackage>
- <generateDirectory>${project.build.directory}/jaxb-source</generateDirectory>
- <schemaDirectory>${basedir}/src/test/resources</schemaDirectory>
- <includeSchemas>
- <includeSchema>ipo.xsd</includeSchema>
- </includeSchemas>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>xmlbeans</groupId>
- <artifactId>xbean</artifactId>
- <version>2.1.0</version>
- </dependency>
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0.1</version>
- </dependency>
-
- </dependencies>
-
- <executions>
- <execution>
- <id>generate-xmlbeans</id>
- <phase>generate-sources</phase>
- <configuration>
- <tasks>
- <taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean"
- classpathref="maven.compile.classpath" />
- <xmlbean schema="${basedir}/src/test/resources" classpathref="maven.compile.classpath"
- destfile="${project.build.directory}/ipo-xmlbeans.jar"
- srcgendir="${project.build.directory}/xmlbeans-source" javasource="1.5"
- classgendir="${project.build.directory}/test-classes" />
- </tasks>
- <!--
- <sourceRoot>${project.build.directory}/xmlbeans-source</sourceRoot>
- <testSourceRoot>${project.build.directory}/xmlbeans-source</testSourceRoot>
- -->
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/JAXBTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/JAXBTestCase.java
deleted file mode 100755
index 894bee16e4..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/JAXBTestCase.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-
-import java.io.StringReader;
-
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.databinding.jaxb.JAXB2Node;
-import org.apache.tuscany.databinding.jaxb.JAXBContextHelper;
-import org.apache.tuscany.databinding.jaxb.XMLStreamReader2JAXB;
-import org.apache.tuscany.databinding.xmlbeans.Node2XmlObject;
-import org.apache.tuscany.databinding.xmlbeans.XmlObject2XMLStreamReader;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.xmlbeans.XmlObject;
-import org.w3c.dom.Node;
-
-public class JAXBTestCase extends TestCase {
- private static final String IPO_XML =
- "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
- + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
- + " xmlns:ipo=\"http://www.example.com/IPO\""
- + " xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\""
- + " orderDate=\"1999-12-01\">"
- + " <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">"
- + " <name>Helen Zoe</name>"
- + " <street>47 Eden Street</street>"
- + " <city>Cambridge</city>"
- + " <postcode>CB1 1JR</postcode>"
- + " </shipTo>"
- + " <billTo xsi:type=\"ipo:USAddress\">"
- + " <name>Robert Smith</name>"
- + " <street>8 Oak Avenue</street>"
- + " <city>Old Town</city>"
- + " <state>PA</state>"
- + " <zip>95819</zip>"
- + " </billTo>"
- + " <items>"
- + " <item partNum=\"833-AA\">"
- + " <productName>Lapis necklace</productName>"
- + " <quantity>1</quantity>"
- + " <USPrice>99.95</USPrice>"
- + " <ipo:comment>Want this for the holidays</ipo:comment>"
- + " <shipDate>1999-12-05</shipDate>"
- + " </item>"
- + " </items>"
- + "</ipo:purchaseOrder>";
-
- private String contextPath = "com.example.ipo.jaxb";
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- public void testTransform() throws Exception {
- // URL/Stream/Reader to XmlObject
- XmlObject object = XmlObject.Factory.parse(new StringReader(IPO_XML));
-
- // XmlObject to XMLStreamReader
- XmlObject2XMLStreamReader t1 = new XmlObject2XMLStreamReader();
- XMLStreamReader reader = t1.transform(object, null);
-
- DataType targetDataType = new DataType<Class>(Object.class, null);
- targetDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
-
- TransformationContext tContext = createMock(TransformationContext.class);
- expect(tContext.getTargetDataType()).andReturn(targetDataType).anyTimes();
- replay(tContext);
-
- // XMLStreamReader to JAXB
- XMLStreamReader2JAXB t2 = new XMLStreamReader2JAXB();
- Object object2 = t2.transform(reader, tContext);
-
- DataType sourceDataType = new DataType<Class>(Object.class, null);
- sourceDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
-
- TransformationContext tContext1 = createMock(TransformationContext.class);
- expect(tContext1.getSourceDataType()).andReturn(sourceDataType).anyTimes();
- replay(tContext1);
-
- JAXB2Node t3 = new JAXB2Node();
- Node node = t3.transform(object2, tContext1);
-
- Node2XmlObject t4 = new Node2XmlObject();
- XmlObject object3 = t4.transform(node, null);
-
- Assert.assertNotNull(object3);
-
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java
deleted file mode 100755
index a181c80b87..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-
-import java.io.StringReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.bind.JAXBElement;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.core.databinding.impl.TransformerRegistryImpl;
-import org.apache.tuscany.core.databinding.xml.Node2String;
-import org.apache.tuscany.core.databinding.xml.String2Node;
-import org.apache.tuscany.core.databinding.xml.String2XMLStreamReader;
-import org.apache.tuscany.core.databinding.xml.XMLStreamReader2String;
-import org.apache.tuscany.databinding.axiom.OMElement2String;
-import org.apache.tuscany.databinding.axiom.OMElement2XMLStreamReader;
-import org.apache.tuscany.databinding.axiom.String2OMElement;
-import org.apache.tuscany.databinding.axiom.XMLStreamReader2OMElement;
-import org.apache.tuscany.databinding.jaxb.JAXB2Node;
-import org.apache.tuscany.databinding.jaxb.JAXBContextHelper;
-import org.apache.tuscany.databinding.jaxb.Node2JAXB;
-import org.apache.tuscany.databinding.jaxb.XMLStreamReader2JAXB;
-import org.apache.tuscany.databinding.sdo.DataObject2XMLStreamReader;
-import org.apache.tuscany.databinding.sdo.XMLDocument2XMLStreamReader;
-import org.apache.tuscany.databinding.sdo.XMLStreamReader2DataObject;
-import org.apache.tuscany.databinding.sdo.XMLStreamReader2XMLDocument;
-import org.apache.tuscany.databinding.sdo.ImportSDOLoader.SDOType;
-import org.apache.tuscany.databinding.xmlbeans.Node2XmlObject;
-import org.apache.tuscany.databinding.xmlbeans.XMLStreamReader2XmlObject;
-import org.apache.tuscany.databinding.xmlbeans.XmlObject2Node;
-import org.apache.tuscany.databinding.xmlbeans.XmlObject2XMLStreamReader;
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.TransformerRegistry;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.xmlbeans.XmlObject;
-import org.w3c.dom.Node;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class TransformationTestCase extends TestCase {
- private static final String IPO_XML =
- "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
- + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
- + " xmlns:ipo=\"http://www.example.com/IPO\""
- + " xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\""
- + " orderDate=\"1999-12-01\">"
- + " <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">"
- + " <name>Helen Zoe</name>"
- + " <street>47 Eden Street</street>"
- + " <city>Cambridge</city>"
- + " <postcode>CB1 1JR</postcode>"
- + " </shipTo>"
- + " <billTo xsi:type=\"ipo:USAddress\">"
- + " <name>Robert Smith</name>"
- + " <street>8 Oak Avenue</street>"
- + " <city>Old Town</city>"
- + " <state>PA</state>"
- + " <zip>95819</zip>"
- + " </billTo>"
- + " <items>"
- + " <item partNum=\"833-AA\">"
- + " <productName>Lapis necklace</productName>"
- + " <quantity>1</quantity>"
- + " <USPrice>99.95</USPrice>"
- + " <ipo:comment>Want this for the holidays</ipo:comment>"
- + " <shipDate>1999-12-05</shipDate>"
- + " </item>"
- + " </items>"
- + "</ipo:purchaseOrder>";
-
- private TransformerRegistry registry;
-
- private String contextPath = "com.example.ipo.jaxb";
-
- protected void setUp() throws Exception {
- super.setUp();
- registry = new TransformerRegistryImpl();
-
- List<Transformer> transformers = new ArrayList<Transformer>();
-
- // Adding JAXB transformers
- transformers.add(new JAXB2Node());
- transformers.add(new Node2JAXB());
- transformers.add(new XMLStreamReader2JAXB());
-
- // Adding XMLBeans transformers
- transformers.add(new XmlObject2Node());
- transformers.add(new XmlObject2XMLStreamReader());
- transformers.add(new Node2XmlObject());
- transformers.add(new XMLStreamReader2XmlObject());
-
- transformers.add(new DataObject2XMLStreamReader());
- transformers.add(new XMLStreamReader2DataObject());
-
- transformers.add(new XMLDocument2XMLStreamReader());
- transformers.add(new XMLStreamReader2XMLDocument());
-
- transformers.add(new String2XMLStreamReader());
- transformers.add(new XMLStreamReader2String());
-
- transformers.add(new String2Node());
- transformers.add(new Node2String());
-
- transformers.add(new OMElement2String());
- transformers.add(new String2OMElement());
-
- transformers.add(new XMLStreamReader2OMElement());
- transformers.add(new OMElement2XMLStreamReader());
-
- for (Transformer transformer : transformers) {
- registry.registerTransformer(transformer);
- }
-
- // System.out.println(registry);
-
- URL xsdFile = getClass().getClassLoader().getResource("ipo.xsd");
- XSDHelper.INSTANCE.define(xsdFile.openStream(), null);
- }
-
- @SuppressWarnings("unchecked")
- // XMLBeans --> SDO
- public void testTransformation1() throws Exception {
- URL xsdFile = getClass().getClassLoader().getResource("ipo.xsd");
- TypeHelper typeHelper = SDOUtil.createTypeHelper();
- XSDHelper xsdHelper = SDOUtil.createXSDHelper(typeHelper);
- xsdHelper.define(xsdFile.openStream(), xsdFile.toExternalForm());
-
- // URL/Stream/Reader to XmlObject
- XmlObject object = XmlObject.Factory.parse(new StringReader(IPO_XML));
-
- List<Transformer> path =
- registry.getTransformerChain(XmlObject.class.getName(), DataObject.class.getName());
- System.out.println("Path: " + path);
-
- TransformationContext tContext = createTransformationContext();
- tContext.getMetadata().put(SDOType.class, new SDOType(typeHelper));
-
- Object result = object;
- for (Transformer transformer : path) {
- result = ((PullTransformer)transformer).transform(result, tContext);
- }
- System.out.println("Result: " + result);
- Assert.assertNotNull(result);
- Assert.assertTrue(result instanceof DataObject);
-
- }
-
- @SuppressWarnings("unchecked")
- // SDO --> DOM
- public void testTransformation2() throws Exception {
- // System.out.println(registry);
-
- URL xmlFile = getClass().getClassLoader().getResource("ipo.xml");
- // URL/Stream/Reader to XmlObject
- XMLDocument object = XMLHelper.INSTANCE.load(xmlFile.openStream());
-
- List<Transformer> path =
- registry.getTransformerChain(XMLDocument.class.getName(), Node.class.getName());
- System.out.println("Path: " + path);
-
- TransformationContext tContext = createTransformationContext();
-
- Object result = object;
- for (Transformer transformer : path) {
- result = ((PullTransformer)transformer).transform(result, tContext);
- }
- System.out.println("Result: " + result);
- Assert.assertNotNull(result);
- Assert.assertTrue(result instanceof Node);
-
- }
-
- @SuppressWarnings("unchecked")
- // SDO --> JAXB
- public void testTransformation3() throws Exception {
- // System.out.println(registry);
-
- URL xmlFile = getClass().getClassLoader().getResource("ipo.xml");
- // URL/Stream/Reader to XmlObject
- XMLDocument object = XMLHelper.INSTANCE.load(xmlFile.openStream());
-
- List<Transformer> path =
- registry.getTransformerChain(XMLDocument.class.getName(), JAXBElement.class.getName());
- System.out.println("Path: " + path);
-
- TransformationContext tContext = createTransformationContext();
-
- Object result = object;
- for (Transformer transformer : path) {
- result = ((PullTransformer)transformer).transform(result, tContext);
- }
- System.out.println("Result: " + result);
- Assert.assertNotNull(result);
- Assert.assertTrue(result instanceof Object);
-
- }
-
- private TransformationContext createTransformationContext() {
- DataType dataType = new DataType<Class>(Object.class, null);
- dataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
-
- TransformationContext tContext = createMock(TransformationContext.class);
- expect(tContext.getTargetDataType()).andReturn(dataType).anyTimes();
-
- expect(tContext.getSourceDataType()).andReturn(dataType).anyTimes();
- Map<Class<?>, Object> metadata = new HashMap<Class<?>, Object>();
- expect(tContext.getMetadata()).andReturn(metadata).anyTimes();
- replay(tContext);
- return tContext;
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/XmlObjectTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/XmlObjectTestCase.java
deleted file mode 100755
index 78d51352cb..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/XmlObjectTestCase.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding;
-
-import java.io.StringReader;
-
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.databinding.xmlbeans.Node2XmlObject;
-import org.apache.tuscany.databinding.xmlbeans.XMLStreamReader2XmlObject;
-import org.apache.tuscany.databinding.xmlbeans.XmlObject2Node;
-import org.apache.tuscany.databinding.xmlbeans.XmlObject2XMLStreamReader;
-import org.apache.xmlbeans.XmlObject;
-import org.w3c.dom.Node;
-
-public class XmlObjectTestCase extends TestCase {
- private static final String IPO_XML =
- "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
- + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
- + " xmlns:ipo=\"http://www.example.com/IPO\""
- + " xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\""
- + " orderDate=\"1999-12-01\">"
- + " <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">"
- + " <name>Helen Zoe</name>"
- + " <street>47 Eden Street</street>"
- + " <city>Cambridge</city>"
- + " <postcode>CB1 1JR</postcode>"
- + " </shipTo>"
- + " <billTo xsi:type=\"ipo:USAddress\">"
- + " <name>Robert Smith</name>"
- + " <street>8 Oak Avenue</street>"
- + " <city>Old Town</city>"
- + " <state>PA</state>"
- + " <zip>95819</zip>"
- + " </billTo>"
- + " <items>"
- + " <item partNum=\"833-AA\">"
- + " <productName>Lapis necklace</productName>"
- + " <quantity>1</quantity>"
- + " <USPrice>99.95</USPrice>"
- + " <ipo:comment>Want this for the holidays</ipo:comment>"
- + " <shipDate>1999-12-05</shipDate>"
- + " </item>"
- + " </items>"
- + "</ipo:purchaseOrder>";
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- public void testTransform() throws Exception {
- XmlObject object = XmlObject.Factory.parse(new StringReader(IPO_XML));
-
- // XmlObject to XMLStreamReader
- XmlObject2XMLStreamReader t1 = new XmlObject2XMLStreamReader();
- XMLStreamReader reader = t1.transform(object, null);
-
- // XMLStreamReader to XmlObject
- XMLStreamReader2XmlObject t2 = new XMLStreamReader2XmlObject();
- XmlObject object2 = t2.transform(reader, null);
-
- // XmlObject to Node
- XmlObject2Node t3 = new XmlObject2Node();
- Node node = t3.transform(object2, null);
-
- // Node to XmlObject
- Node2XmlObject t4 = new Node2XmlObject();
- XmlObject object3 = t4.transform(node, null);
- Assert.assertNotNull(object3);
- }
-
- /*
- * public void testGeneratedXmlObject() throws Exception { URL xmlFile =
- * getClass().getClassLoader().getResource("ipo.xml"); // URL/Stream/Reader
- * to XmlObject PurchaseOrderDocument object =
- * PurchaseOrderDocument.Factory.parse(xmlFile); // XmlObject to
- * XMLStreamReader XmlObject2XMLStreamReader t1 = new
- * XmlObject2XMLStreamReader(); XMLStreamReader reader =
- * t1.transform(object, null); // XMLStreamReader to XmlObject
- * XMLStreamReader2XmlObject t2 = new XMLStreamReader2XmlObject(); XmlObject
- * object2 = t2.transform(reader, null); // XmlObject to Node XmlObject2Node
- * t3 = new XmlObject2Node(); Node node = t3.transform(object2, null); //
- * Node to XmlObject Node2XmlObject t4 = new Node2XmlObject(); XmlObject
- * object3 = t4.transform(node, null); Assert.assertNotNull(object3); }
- */
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/Client.java b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/Client.java
deleted file mode 100644
index 8ddc625d66..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/Client.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sample;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Client {
- void call(Object po);
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/ClientImpl.java b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/ClientImpl.java
deleted file mode 100644
index 2d33a8666b..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/ClientImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sample;
-
-import org.osoa.sca.annotations.Constructor;
-import org.osoa.sca.annotations.Reference;
-
-import com.example.ipo.jaxb.PurchaseOrderType;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ClientImpl implements Client {
-
- private Echo echoReference;
-
- @Constructor
- public ClientImpl(@Reference(name = "echoReference", required = true)
- Echo echoReference) {
- this.echoReference = echoReference;
- }
-
- public void call(Object po) {
- Object ret = null;
- if (po instanceof PurchaseOrderType) {
- ret = echoReference.echoJAXB((PurchaseOrderType)po);
- } else if (po instanceof com.example.ipo.sdo.PurchaseOrderType) {
- ret = echoReference.echoSDO((com.example.ipo.sdo.PurchaseOrderType)po);
- } else if (po instanceof com.example.ipo.xmlbeans.PurchaseOrderType) {
- ret = echoReference.echoXMLBeans((com.example.ipo.xmlbeans.PurchaseOrderType)po);
- }
- System.out.println("Returned message: " + ret);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/DataBindingBootStrapTest.java b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/DataBindingBootStrapTest.java
deleted file mode 100644
index ff44dfb68d..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/DataBindingBootStrapTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sample;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-
-import java.io.StringReader;
-
-import javax.xml.bind.JAXBElement;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.databinding.jaxb.JAXBContextHelper;
-import org.apache.tuscany.databinding.jaxb.Reader2JAXB;
-import org.apache.tuscany.databinding.sdo.String2DataObject;
-import org.apache.tuscany.databinding.xmlbeans.XMLStreamReader2XmlObject;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.tuscany.test.SCATestCase;
-import org.osoa.sca.CompositeContext;
-import org.osoa.sca.CurrentCompositeContext;
-
-import com.example.ipo.jaxb.PurchaseOrderType;
-import com.example.ipo.xmlbeans.PurchaseOrderDocument;
-import commonj.sdo.DataObject;
-
-/**
- * @version $Rev$ $Date$
- */
-public class DataBindingBootStrapTest extends SCATestCase {
- private static final String IPO_XML =
- "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
- + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
- + " xmlns:ipo=\"http://www.example.com/IPO\""
- + " xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\""
- + " orderDate=\"1999-12-01\">"
- + " <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">"
- + " <name>Helen Zoe</name>"
- + " <street>47 Eden Street</street>"
- + " <city>Cambridge</city>"
- + " <postcode>CB1 1JR</postcode>"
- + " </shipTo>"
- + " <billTo xsi:type=\"ipo:USAddress\">"
- + " <name>Robert Smith</name>"
- + " <street>8 Oak Avenue</street>"
- + " <city>Old Town</city>"
- + " <state>PA</state>"
- + " <zip>95819</zip>"
- + " </billTo>"
- + " <items>"
- + " <item partNum=\"833-AA\">"
- + " <productName>Lapis necklace</productName>"
- + " <quantity>1</quantity>"
- + " <USPrice>99.95</USPrice>"
- + " <ipo:comment>Want this for the holidays</ipo:comment>"
- + " <shipDate>1999-12-05</shipDate>"
- + " </item>"
- + " </items>"
- + "</ipo:purchaseOrder>";
-
- private Client client;
- private String contextPath = "com.example.ipo.jaxb";
-
- @SuppressWarnings("unchecked")
- public void testDataBindingBootstrap() throws Exception {
- DataType targetDataType = new DataType<Class>(Object.class, null);
- targetDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
- TransformationContext tContext = createMock(TransformationContext.class);
- expect(tContext.getTargetDataType()).andReturn(targetDataType).anyTimes();
- replay(tContext);
-
- String2DataObject t1 = new String2DataObject();
- DataObject po1 = t1.transform(IPO_XML, null);
- client.call(po1);
-
- XMLStreamReader reader =
- XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(IPO_XML));
- XMLStreamReader2XmlObject t2 = new XMLStreamReader2XmlObject();
- PurchaseOrderDocument po2 = (PurchaseOrderDocument)t2.transform(reader, null);
- client.call(po2.getPurchaseOrder());
-
- Reader2JAXB t3 = new Reader2JAXB();
- JAXBElement<PurchaseOrderType> po3 =
- (JAXBElement<PurchaseOrderType>)t3.transform(new StringReader(IPO_XML), tContext);
- client.call(po3.getValue());
-
- }
-
- protected void setUp() throws Exception {
- setApplicationSCDL(getClass(), "META-INF/sca/default.scdl");
- addExtension("test-extensions", getClass().getClassLoader()
- .getResource("META-INF/tuscany/test-extensions.scdl"));
- super.setUp();
- CompositeContext context = CurrentCompositeContext.getContext();
- client = context.locateService(Client.class, "Client");
- }
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/Echo.java b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/Echo.java
deleted file mode 100644
index c44e575e26..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/Echo.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sample;
-
-import org.apache.tuscany.api.annotation.DataType;
-import org.osoa.sca.annotations.Remotable;
-import org.osoa.sca.annotations.Service;
-
-import com.example.ipo.jaxb.PurchaseOrderType;
-
-
-/**
- * @version $Rev$ $Date$
- */
-@Remotable
-@Service
-public interface Echo {
- @DataType(name="javax.xml.bind.JAXBElement")
- PurchaseOrderType echoJAXB(PurchaseOrderType po);
-
- @DataType(name="commonj.sdo.DataObject")
- com.example.ipo.sdo.PurchaseOrderType echoSDO(com.example.ipo.sdo.PurchaseOrderType po);
-
- @DataType(name="org.apache.xmlbeans.XmlObject")
- com.example.ipo.xmlbeans.PurchaseOrderType echoXMLBeans(com.example.ipo.xmlbeans.PurchaseOrderType po);
-} \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/EchoImpl.java b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/EchoImpl.java
deleted file mode 100644
index 775c0317a4..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/sample/EchoImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.sample;
-
-import com.example.ipo.jaxb.PurchaseOrderType;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EchoImpl implements Echo {
-
- public PurchaseOrderType echoJAXB(PurchaseOrderType po) {
- System.out.println("JAXB: " + po);
- return po;
- }
-
- public com.example.ipo.sdo.PurchaseOrderType echoSDO(com.example.ipo.sdo.PurchaseOrderType po) {
- System.out.println("SDO: " + po);
- return po;
- }
-
- public com.example.ipo.xmlbeans.PurchaseOrderType echoXMLBeans(com.example.ipo.xmlbeans.PurchaseOrderType po) {
- System.out.println("XMLBeans: " + po);
- return po;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 611acdb919..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:db="http://incubator.apache.org/tuscany/xmlns/databinding/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.sample">
-
- <dbsdo:import.sdo xmlns:dbsdo="http://incubator.apache.org/tuscany/xmlns/databinding/sdo/1.0-incubator-M2" factory="com.example.ipo.sdo.SdoFactory"/>
-
- <component name="Client">
- <implementation.java class="org.apache.tuscany.databinding.sample.ClientImpl" />
- <reference name="echoReference">Echo</reference>
- </component>
-
- <component name="Echo">
- <implementation.java class="org.apache.tuscany.databinding.sample.EchoImpl" />
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.axiom.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.axiom.scdl
deleted file mode 100644
index a21da8c6e2..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.axiom.scdl
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.Axiom">
-
- <component name="databinding.axiom">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.AxiomDataBinding" />
- </component>
-
- <!-- Transformers -->
- <component name="transformer.XMLStreamReader2OMElement">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.XMLStreamReader2OMElement" />
- </component>
-
- <component name="transformer.OMElement2XMLStreamReader">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.OMElement2XMLStreamReader" />
- </component>
-
- <component name="transformer.String2OMElement">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.String2OMElement" />
- </component>
-
- <component name="transformer.OMElement2String">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.OMElement2String" />
- </component>
-
- <component name="transformer.Object2OMElement">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.Object2OMElement" />
- </component>
-
- <component name="transformer.OMElement2Object">
- <system:implementation.system class="org.apache.tuscany.databinding.axiom.OMElement2Object" />
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.jaxb.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.jaxb.scdl
deleted file mode 100644
index 2b86e506eb..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.jaxb.scdl
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.JAXB">
-
- <component name="databinding.jaxb">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.JAXBDataBinding" />
- </component>
-
- <component name="transformer.XMLStreamReader2JAXB">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.XMLStreamReader2JAXB" />
- </component>
-
- <component name="transformer.Node2JAXB">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.Node2JAXB" />
- </component>
-
- <component name="transformer.JAXB2Node">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.JAXB2Node" />
- </component>
-
- <component name="transformer.Reader2JAXB">
- <system:implementation.system class="org.apache.tuscany.databinding.jaxb.Reader2JAXB" />
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.sdo.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.sdo.scdl
deleted file mode 100644
index dabab7c687..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.sdo.scdl
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- import.sdo configuration
-
- $Rev: 431086 $ $Date: 2006-08-12 13:58:17 -0700 (Sat, 12 Aug 2006) $
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.sdo">
-
- <!-- import.sdo element loader implementations -->
- <component name="elementLoader.import.sdo">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.ImportSDOLoader"/>
- </component>
- <component name="databinding.sdo">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.SDODataBinding" />
- </component>
- <component name="transformer.DataObject2String">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.DataObject2String"/>
- </component>
- <component name="transformer.DataObject2XMLStreamReader">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.DataObject2XMLStreamReader"/>
- </component>
- <component name="transformer.XMLDocument2String">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLDocument2String"/>
- </component>
- <component name="transformer.String2DataObject">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.String2DataObject"/>
- </component>
- <component name="transformer.XMLDocument2XMLStreamReader">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLDocument2XMLStreamReader"/>
- </component>
- <component name="transformer.XMLStreamReader2DataObject">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLStreamReader2DataObject"/>
- </component>
- <component name="transformer.XMLStreamReader2XMLDocument">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLStreamReader2XMLDocument"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.xmlbeans.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.xmlbeans.scdl
deleted file mode 100644
index 55c7363cba..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/databinding.xmlbeans.scdl
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.XMLBeans">
-
- <component name="databinding.XMLBeans">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.XMLBeansDataBinding" />
- </component>
-
- <component name="transformer.XMLStreamReader2XmlObject">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.XMLStreamReader2XmlObject" />
- </component>
-
- <component name="transformer.Node2XmlObject">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.Node2XmlObject" />
- </component>
-
- <component name="transformer.XmlObject2Node">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.XmlObject2Node" />
- </component>
-
- <component name="transformer.XMLStreamReader2XmlObject">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.XMLStreamReader2XmlObject" />
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/interface.wsdl.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/interface.wsdl.scdl
deleted file mode 100644
index fe9a635747..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/interface.wsdl.scdl
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- Default system configuration for the launcher environment.
-
- $Rev: 440894 $ $Date: 2006-09-06 15:52:01 -0700 (Wed, 06 Sep 2006) $
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.idl.WSDL">
-
- <component name="interface.wsdl.Loader">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.InterfaceWSDLLoader" />
- </component>
-
- <component name="wsdl.Registry">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl" initLevel="40" />
- </component>
-
- <component name="xmlSchema.registry">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.XMLSchemaRegistryImpl" initLevel="35" />
- </component>
-
- <component name="interface.wsdl.Introspector">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.InterfaceWSDLIntrospectorImpl" initLevel="40" />
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/test-extensions.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/test-extensions.scdl
deleted file mode 100644
index 193bd7a3f6..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/META-INF/tuscany/test-extensions.scdl
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="test.extensions">
-
- <include name="org.apache.tuscany.databinding.axiom" scdlLocation="databinding.axiom.scdl"/>
- <include name="org.apache.tuscany.databinding.sdo" scdlLocation="databinding.sdo.scdl"/>
- <include name="org.apache.tuscany.databinding.jaxb" scdlLocation="databinding.jaxb.scdl"/>
- <include name="org.apache.tuscany.databinding.xmlbeans" scdlLocation="databinding.xmlbeans.scdl"/>
- <include name="org.apache.tuscany.interface.wsdl" scdlLocation="interface.wsdl.scdl"/>
-
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xml b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xml
deleted file mode 100755
index df901d183d..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ipo:purchaseOrder
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ipo="http://www.example.com/IPO"
- xsi:schemaLocation="http://www.example.com/IPO ipo.xsd"
- orderDate="1999-12-01">
-
- <shipTo exportCode="1" xsi:type="ipo:UKAddress">
- <name>Helen Zoe</name>
- <street>47 Eden Street</street>
- <city>Cambridge</city>
- <postcode>CB1 1JR</postcode>
- </shipTo>
-
- <billTo xsi:type="ipo:USAddress">
- <name>Robert Smith</name>
- <street>8 Oak Avenue</street>
- <city>Old Town</city>
- <state>PA</state>
- <zip>95819</zip>
- </billTo>
-
- <items>
- <item partNum="833-AA">
- <productName>Lapis necklace</productName>
- <quantity>1</quantity>
- <USPrice>99.95</USPrice>
- <ipo:comment>Want this for the holidays</ipo:comment>
- <shipDate>1999-12-05</shipDate>
- </item>
- </items>
-</ipo:purchaseOrder>
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xsd b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xsd
deleted file mode 100755
index 241ec15d36..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xsdconfig b/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xsdconfig
deleted file mode 100755
index a397182672..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-test/src/test/resources/ipo.xsdconfig
+++ /dev/null
@@ -1,21 +0,0 @@
-<!-- Copyright 2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. -->
-<xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config"
- xmlns:ipo="http://www.example.com/IPO">
-
- <xb:namespace uri="http://www.example.com/IPO">
- <xb:package>com.example.ipo.xmlbeans</xb:package>
- </xb:namespace>
-
-</xb:config>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/LICENSE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/LICENSE.txt
deleted file mode 100755
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/NOTICE.txt b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/pom.xml b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/pom.xml
deleted file mode 100755
index 84fcdef7c8..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/pom.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>databinding-xmlbeans</artifactId>
- <name>Apache Tuscany Data Binding for XmlBeans</name>
- <description>Tuscany XmlBeans Data Binding</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>xmlbeans</groupId>
- <artifactId>xbean</artifactId>
- <version>2.1.0</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>add-test-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-test-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>target/xmlbeans-source</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-xmlbeans</id>
- <phase>generate-test-sources</phase>
- <configuration>
- <tasks>
- <taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean"
- classpathref="maven.compile.classpath" />
- <xmlbean schema="${basedir}/src/test/resources" classpathref="maven.compile.classpath"
- destfile="${project.build.directory}/ipo-xmlbeans.jar"
- srcgendir="${project.build.directory}/xmlbeans-source" javasource="1.5"
- classgendir="${project.build.directory}/test-classes" />
- </tasks>
- <testSourceRoot>${project.build.directory}/xmlbeans-source</testSourceRoot>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/Node2XmlObject.java b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/Node2XmlObject.java
deleted file mode 100755
index 0b4da53473..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/Node2XmlObject.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.xmlbeans;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.osoa.sca.annotations.Service;
-import org.w3c.dom.Node;
-
-@Service(Transformer.class)
-public class Node2XmlObject extends TransformerExtension<Node, XmlObject> implements
- PullTransformer<Node, XmlObject> {
- // private XmlOptions options;
-
- public XmlObject transform(Node source, TransformationContext context) {
- try {
- return XmlObject.Factory.parse(source);
- } catch (XmlException e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getTargetType() {
- return XmlObject.class;
- }
-
- public Class getSourceType() {
- return Node.class;
- }
-
- public int getWeight() {
- return 30;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XMLBeansDataBinding.java b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XMLBeansDataBinding.java
deleted file mode 100644
index 12057982e4..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XMLBeansDataBinding.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.databinding.xmlbeans;
-
-import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;
-import org.apache.xmlbeans.XmlObject;
-
-/**
- * XMLBeans DataBinding
- */
-public class XMLBeansDataBinding extends DataBindingExtension {
- public static final String NAME = XmlObject.class.getName();
-
- public XMLBeansDataBinding() {
- super(NAME, XmlObject.class);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XMLStreamReader2XmlObject.java b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XMLStreamReader2XmlObject.java
deleted file mode 100755
index 0e61bd9571..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XMLStreamReader2XmlObject.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.xmlbeans;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.osoa.sca.annotations.Service;
-
-@Service(Transformer.class)
-public class XMLStreamReader2XmlObject extends TransformerExtension<XMLStreamReader, XmlObject> implements PullTransformer<XMLStreamReader, XmlObject> {
- // private XmlOptions options;
-
- public XmlObject transform(XMLStreamReader source, TransformationContext context) {
- try {
- return XmlObject.Factory.parse(source);
- } catch (XmlException e) {
- throw new TransformationException(e);
- }
- }
-
- public Class getTargetType() {
- return XmlObject.class;
- }
-
- public Class getSourceType() {
- return XMLStreamReader.class;
- }
-
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XmlObject2Node.java b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XmlObject2Node.java
deleted file mode 100755
index 8fc1e58bd5..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XmlObject2Node.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.xmlbeans;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.xmlbeans.XmlObject;
-import org.osoa.sca.annotations.Service;
-import org.w3c.dom.Node;
-
-@Service(Transformer.class)
-public class XmlObject2Node extends TransformerExtension<XmlObject, Node> implements
- PullTransformer<XmlObject, Node> {
- // private XmlOptions options;
-
- public Node transform(XmlObject source, TransformationContext context) {
- if (source == null)
- return null;
- return source.newDomNode();
- }
-
- public Class getSourceType() {
- return XmlObject.class;
- }
-
- public Class getTargetType() {
- return Node.class;
- }
-
- public int getWeight() {
- return 30;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XmlObject2XMLStreamReader.java b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XmlObject2XMLStreamReader.java
deleted file mode 100755
index 8a12cf34f0..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/java/org/apache/tuscany/databinding/xmlbeans/XmlObject2XMLStreamReader.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.xmlbeans;
-
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.xmlbeans.XmlObject;
-
-public class XmlObject2XMLStreamReader extends TransformerExtension<XmlObject, XMLStreamReader> implements PullTransformer<XmlObject, XMLStreamReader> {
- // private XmlOptions options;
-
- public XMLStreamReader transform(XmlObject source, TransformationContext context) {
- return source.newXMLStreamReader();
- }
-
- public Class getSourceType() {
- return XmlObject.class;
- }
-
- public Class getTargetType() {
- return XMLStreamReader.class;
- }
-
- public int getWeight() {
- return 10;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 55c7363cba..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.XMLBeans">
-
- <component name="databinding.XMLBeans">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.XMLBeansDataBinding" />
- </component>
-
- <component name="transformer.XMLStreamReader2XmlObject">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.XMLStreamReader2XmlObject" />
- </component>
-
- <component name="transformer.Node2XmlObject">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.Node2XmlObject" />
- </component>
-
- <component name="transformer.XmlObject2Node">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.XmlObject2Node" />
- </component>
-
- <component name="transformer.XMLStreamReader2XmlObject">
- <system:implementation.system class="org.apache.tuscany.databinding.xmlbeans.XMLStreamReader2XmlObject" />
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/java/org/apache/tuscany/databinding/xmlbeans/XmlObjectTestCase.java b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/java/org/apache/tuscany/databinding/xmlbeans/XmlObjectTestCase.java
deleted file mode 100755
index 57fbae7e35..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/java/org/apache/tuscany/databinding/xmlbeans/XmlObjectTestCase.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.databinding.xmlbeans;
-
-import java.io.StringReader;
-import java.net.URL;
-
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.xmlbeans.XmlObject;
-import org.w3c.dom.Node;
-
-import com.example.ipo.xmlbeans.PurchaseOrderDocument;
-
-public class XmlObjectTestCase extends TestCase {
- private static final String IPO_XML = "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
- + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"" + " xmlns:ipo=\"http://www.example.com/IPO\""
- + " xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\"" + " orderDate=\"1999-12-01\">"
- + " <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">" + " <name>Helen Zoe</name>" + " <street>47 Eden Street</street>"
- + " <city>Cambridge</city>" + " <postcode>CB1 1JR</postcode>" + " </shipTo>" + " <billTo xsi:type=\"ipo:USAddress\">"
- + " <name>Robert Smith</name>" + " <street>8 Oak Avenue</street>" + " <city>Old Town</city>" + " <state>PA</state>"
- + " <zip>95819</zip>" + " </billTo>" + " <items>" + " <item partNum=\"833-AA\">"
- + " <productName>Lapis necklace</productName>" + " <quantity>1</quantity>" + " <USPrice>99.95</USPrice>"
- + " <ipo:comment>Want this for the holidays</ipo:comment>" + " <shipDate>1999-12-05</shipDate>" + " </item>" + " </items>"
- + "</ipo:purchaseOrder>";
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- public void testXmlObject() throws Exception {
- // URL/Stream/Reader to XmlObject
- XmlObject object = XmlObject.Factory.parse(new StringReader(IPO_XML));
-
- // XmlObject to XMLStreamReader
- XmlObject2XMLStreamReader t1 = new XmlObject2XMLStreamReader();
- XMLStreamReader reader = t1.transform(object, null);
-
- // XMLStreamReader to XmlObject
- XMLStreamReader2XmlObject t2 = new XMLStreamReader2XmlObject();
- XmlObject object2 = t2.transform(reader, null);
-
- // XmlObject to Node
- XmlObject2Node t3 = new XmlObject2Node();
- Node node = t3.transform(object2, null);
-
- // Node to XmlObject
- Node2XmlObject t4 = new Node2XmlObject();
- XmlObject object3 = t4.transform(node, null);
- Assert.assertNotNull(object3);
- }
-
- public void testGeneratedXmlObject() throws Exception {
- // URL xmlFile = getClass().getClassLoader().getResource("ipo.xml");
- // URL/Stream/Reader to XmlObject
- PurchaseOrderDocument object = PurchaseOrderDocument.Factory.parse(new StringReader(IPO_XML));
-
- // XmlObject to XMLStreamReader
- XmlObject2XMLStreamReader t1 = new XmlObject2XMLStreamReader();
- XMLStreamReader reader = t1.transform(object, null);
-
- // XMLStreamReader to XmlObject
- XMLStreamReader2XmlObject t2 = new XMLStreamReader2XmlObject();
- PurchaseOrderDocument object2 = (PurchaseOrderDocument) t2.transform(reader, null);
-
- // XmlObject to Node
- XmlObject2Node t3 = new XmlObject2Node();
- Node node = t3.transform(object2, null);
-
- // Node to XmlObject
- Node2XmlObject t4 = new Node2XmlObject();
- PurchaseOrderDocument object3 = (PurchaseOrderDocument) t4.transform(node, null);
- Assert.assertNotNull(object3);
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/resources/ipo.xsd b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/resources/ipo.xsd
deleted file mode 100755
index 241ec15d36..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/resources/ipo.xsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/resources/ipo.xsdconfig b/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/resources/ipo.xsdconfig
deleted file mode 100755
index a397182672..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/databinding-xmlbeans/src/test/resources/ipo.xsdconfig
+++ /dev/null
@@ -1,21 +0,0 @@
-<!-- Copyright 2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. -->
-<xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config"
- xmlns:ipo="http://www.example.com/IPO">
-
- <xb:namespace uri="http://www.example.com/IPO">
- <xb:package>com.example.ipo.xmlbeans</xb:package>
- </xb:namespace>
-
-</xb:config>
diff --git a/branches/sca-java-M2/sca/services/databinding/pom.xml b/branches/sca-java-M2/sca/services/databinding/pom.xml
deleted file mode 100644
index 5c311e470c..0000000000
--- a/branches/sca-java-M2/sca/services/databinding/pom.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <parent>
- <groupId>org.apache.tuscany.sca.services</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.tuscany.sca.services.databinding</groupId>
- <artifactId>parent</artifactId>
- <packaging>pom</packaging>
- <name>Tuscany SCA Data Bindings</name>
-
- <profiles>
- <profile>
- <id>full</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>databinding-axiom</module>
- <module>databinding-castor</module>
- <module>databinding-jaxb</module>
- <module>databinding-sdo</module>
- <module>databinding-xmlbeans</module>
- <module>databinding-test</module>
- </modules>
- </profile>
- <profile>
- <id>release</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <modules>
- <module>databinding-axiom</module>
- <module>databinding-sdo</module>
- </modules>
- </profile>
- </profiles>
-</project>
diff --git a/branches/sca-java-M2/sca/services/idl/pom.xml b/branches/sca-java-M2/sca/services/idl/pom.xml
deleted file mode 100644
index 10035bfbd3..0000000000
--- a/branches/sca-java-M2/sca/services/idl/pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>parent</artifactId>
- <packaging>pom</packaging>
- <name>Tuscany SCA Interface Definition Languages</name>
-
- <!-- definition of repositories where the parent pom can be found -->
- <repositories>
- <repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>apache.incubator</id>
- <name>Apache Incubator Repository</name>
- <url>http://people.apache.org/repo/m2-incubating-repository/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <modules>
- <module>wsdl</module>
- </modules>
-</project>
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/.ruleset b/branches/sca-java-M2/sca/services/idl/wsdl/.ruleset
deleted file mode 100644
index 3886f07f2d..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/LICENSE.txt b/branches/sca-java-M2/sca/services/idl/wsdl/LICENSE.txt
deleted file mode 100644
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/NOTICE.txt b/branches/sca-java-M2/sca/services/idl/wsdl/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/pom.xml b/branches/sca-java-M2/sca/services/idl/wsdl/pom.xml
deleted file mode 100644
index 6fb9ea427d..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/pom.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>wsdl</artifactId>
- <packaging>jar</packaging>
- <name>Apache Tuscany WSDL</name>
- <description>Tuscany WSDL Support.</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.schema</groupId>
- <artifactId>XmlSchema</artifactId>
- </dependency>
-
- <dependency>
- <groupId>wsdl4j</groupId>
- <artifactId>wsdl4j</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospector.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospector.java
deleted file mode 100644
index 1b9326acab..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospector.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import javax.wsdl.PortType;
-
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-
-/**
- * Introspector for creating WSDLServiceContract definitions from WSDL PortTypes.
- *
- * @version $Rev$ $Date$
- */
-public interface InterfaceWSDLIntrospector {
-
- /**
- * Introspect a WSDL portType and return a service contract definition.
- *
- * @param type the portType to inspect
- * @return a WSDLServiceContract corresponding to the WSDL portType
- */
- WSDLServiceContract introspect(PortType portType) throws InvalidServiceContractException;
-
- /**
- * Introspect a WSDL portType and return a service contract definition.
- *
- * @param type the portType to inspect
- * @param callback the callback portType to inspec
- * @return a WSDLServiceContract corresponding to the WSDL portType
- */
- WSDLServiceContract introspect(PortType type, PortType callback) throws InvalidServiceContractException;
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImpl.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImpl.java
deleted file mode 100644
index bbfb3b3d01..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImpl.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.idl.wsdl;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.model.InteractionScope;
-import org.osoa.sca.annotations.Constructor;
-
-/**
- * Introspector for creating WSDLServiceContract definitions from WSDL PortTypes.
- */
-public class InterfaceWSDLIntrospectorImpl implements InterfaceWSDLIntrospector {
- public static final String INPUT_PARTS = "idl:input";
-
- private WSDLDefinitionRegistry wsdlDefinitionRegistry;
-
- /**
- * @param wsdlDefinitionRegistry
- */
- @Constructor("wsdlDefinitionRegistry")
- public InterfaceWSDLIntrospectorImpl(@Autowire WSDLDefinitionRegistry wsdlDefinitionRegistry) {
- super();
- this.wsdlDefinitionRegistry = wsdlDefinitionRegistry;
- }
-
- // FIXME: Do we want to deal with document-literal wrapped style based on the JAX-WS spec?
- protected Map<String, org.apache.tuscany.spi.model.Operation<QName>> introspectOperations(PortType portType)
- throws InvalidServiceContractException {
- Map<String, org.apache.tuscany.spi.model.Operation<QName>> operations =
- new HashMap<String, org.apache.tuscany.spi.model.Operation<QName>>();
- for (Object op : portType.getOperations()) {
- Operation wsdlOp = (Operation) op;
- operations.put(wsdlOp.getName(), introspectOperation(wsdlOp));
- }
- return operations;
- }
-
- protected org.apache.tuscany.spi.model.Operation<QName> introspectOperation(Operation wsdlOp)
- throws InvalidServiceContractException {
-
- WSDLOperation op = new WSDLOperation(wsdlOp, null, wsdlDefinitionRegistry.getSchemaRegistry());
- return op.getOperation();
- }
-
- /**
- * @see org.apache.tuscany.idl.wsdl.InterfaceWSDLIntrospector#introspect(javax.wsdl.PortType)
- */
- public WSDLServiceContract introspect(PortType portType) throws InvalidServiceContractException {
- WSDLServiceContract contract = new WSDLServiceContract();
- contract.setPortType(portType);
- contract.setInterfaceName(portType.getQName().getLocalPart());
- contract.setOperations(introspectOperations(portType));
- // FIXME: set to Non-conversational for now
- contract.setInteractionScope(InteractionScope.NONCONVERSATIONAL);
- return contract;
- }
-
- /**
- * @see org.apache.tuscany.idl.wsdl.InterfaceWSDLIntrospector#introspect(javax.wsdl.PortType, javax.wsdl.PortType)
- */
- public WSDLServiceContract introspect(PortType portType, PortType callbackPortType)
- throws InvalidServiceContractException {
- assert portType != null : "PortType cannot be null";
- WSDLServiceContract contract = new WSDLServiceContract();
- // FIXME: set to Non-conversational for now
- contract.setInteractionScope(InteractionScope.NONCONVERSATIONAL);
- contract.setPortType(portType);
- contract.setInterfaceName(portType.getQName().getLocalPart());
- contract.setOperations(introspectOperations(portType));
- if (callbackPortType != null) {
- contract.setCallbackPortType(callbackPortType);
- contract.setCallbackName(callbackPortType.getQName().getLocalPart());
- contract.setCallbackOperations(introspectOperations(callbackPortType));
- }
- return contract;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLLoader.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLLoader.java
deleted file mode 100644
index cdb74becfd..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLLoader.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.wsdl.PortType;
-import javax.wsdl.WSDLException;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-import org.osoa.sca.annotations.Constructor;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.loader.InvalidValueException;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.tuscany.spi.model.ModelObject;
-import org.apache.tuscany.spi.model.ServiceContract;
-
-/**
- * Loads a WSDL interface definition from an XML-based assembly file
- *
- * @version $Rev$ $Date$
- */
-public class InterfaceWSDLLoader extends LoaderExtension {
- public static final QName INTERFACE_WSDL = new QName(XML_NAMESPACE_1_0, "interface.wsdl");
-
- private static final String WSDLI = "http://www.w3.org/2006/01/wsdl-instance";
-
- private static final String WSDLI_LOCATION = "wsdlLocation";
-
- private WSDLDefinitionRegistry wsdlRegistry;
-
- private InterfaceWSDLIntrospector introspector;
-
- @Constructor ({ "registry", "wsdlRegistry", "introspector" })
- public InterfaceWSDLLoader(@Autowire LoaderRegistry registry,
- @Autowire WSDLDefinitionRegistry wsdlRegistry,
- @Autowire InterfaceWSDLIntrospector introspector) {
- super(registry);
- this.wsdlRegistry = wsdlRegistry;
- this.introspector = introspector;
- }
-
- public QName getXMLType() {
- return INTERFACE_WSDL;
- }
-
- public WSDLServiceContract load(
- CompositeComponent parent,
- XMLStreamReader reader,
- DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
- assert INTERFACE_WSDL.equals(reader.getName());
-
- String interfaceURI = reader.getAttributeValue(null, "interface");
- if (interfaceURI == null) {
- throw new InvalidValueException("interface");
- }
-
- String callbackURI = reader.getAttributeValue(null, "callbackInterface");
- String wsdlLocation = reader.getAttributeValue(WSDLI, WSDLI_LOCATION);
-
- Map<Class<?>, ModelObject> extensions = new HashMap<Class<?>, ModelObject>();
- while (true) {
- int event = reader.next();
- if (event == XMLStreamConstants.START_ELEMENT) {
- ModelObject mo = registry.load(parent, reader, deploymentContext);
- if (mo != null) {
- extensions.put(mo.getClass(), mo);
- }
- } else if (event == XMLStreamConstants.END_ELEMENT) {
- if (reader.getName().equals(INTERFACE_WSDL)) {
- break;
- }
- }
- }
- // FIXME set the interaction scope
- // serviceContract.setInteractionScope(StAXUtil.interactionScope(reader.getAttributeValue(null, "scope")));
-
- if (wsdlLocation != null) {
- try {
- wsdlRegistry.loadDefinition(wsdlLocation, deploymentContext.getClassLoader());
- } catch (IOException e) {
- LoaderException le = new LoaderException(e);
- le.setIdentifier(wsdlLocation);
- throw le;
- } catch (WSDLException e) {
- LoaderException le = new LoaderException(e);
- le.setIdentifier(wsdlLocation);
- throw le;
- }
- }
-
- PortType portType = getPortType(interfaceURI);
- if (portType == null) {
- throw new MissingResourceException(interfaceURI);
- }
- PortType callback = null;
- if (callbackURI != null) {
- callback = getPortType(callbackURI);
- }
- try {
- WSDLServiceContract contract = introspector.introspect(portType, callback);
- DataType<?> dataType = (DataType<?>) extensions.get(DataType.class);
- if (dataType != null) {
- contract.setDataBinding(dataType.getDataBinding());
- }
- contract.getExtensions().putAll(extensions);
- return contract;
- } catch (InvalidServiceContractException e) {
- LoaderException le = new LoaderException(e);
- le.setIdentifier(wsdlLocation);
- throw le;
- }
- }
-
- protected PortType getPortType(String uri) {
- // Syntax: <WSDL-namespace-URI>#wsdl.interface(<portTypeOrInterface-name>)
- int index = uri.indexOf('#');
- String namespace = uri.substring(0, index);
- String name = uri.substring(index + 1);
- name = name.substring("wsdl.interface(".length(), name.length() - 1);
- QName qname = new QName(namespace, name);
- return wsdlRegistry.getPortType(qname);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidFragmentException.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidFragmentException.java
deleted file mode 100644
index 55decc9313..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidFragmentException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-/**
- * @version $Rev$ $Date$
- */
-public class InvalidFragmentException extends WSDLLoaderException {
- public InvalidFragmentException() {
- }
-
- public InvalidFragmentException(String message) {
- super(message);
- }
-
- public InvalidFragmentException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public InvalidFragmentException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidWSDLException.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidWSDLException.java
deleted file mode 100644
index 17dde17b19..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidWSDLException.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.idl.wsdl;
-
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-
-/**
- * An exception to indicate the WSDL definition is invalid
- */
-public class InvalidWSDLException extends InvalidServiceContractException {
-
- /**
- *
- */
- public InvalidWSDLException() {
- }
-
- /**
- * @param message
- */
- public InvalidWSDLException(String message) {
- super(message);
- }
-
- /**
- * @param message
- * @param cause
- */
- public InvalidWSDLException(String message, Throwable cause) {
- super(message, cause);
- }
-
- /**
- * @param cause
- */
- public InvalidWSDLException(Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidWSDLLocationException.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidWSDLLocationException.java
deleted file mode 100644
index 7c5ab0bfc1..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InvalidWSDLLocationException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-/**
- * @version $Rev$ $Date$
- */
-public class InvalidWSDLLocationException extends WSDLLoaderException {
- public InvalidWSDLLocationException() {
- }
-
- public InvalidWSDLLocationException(String message) {
- super(message);
- }
-
- public InvalidWSDLLocationException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public InvalidWSDLLocationException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/MissingWSDLException.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/MissingWSDLException.java
deleted file mode 100644
index 92a2b2099e..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/MissingWSDLException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-/**
- * @version $Rev$ $Date$
- */
-public class MissingWSDLException extends WSDLLoaderException {
- public MissingWSDLException() {
- }
-
- public MissingWSDLException(String message) {
- super(message);
- }
-
- public MissingWSDLException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public MissingWSDLException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/NotSupportedWSDLException.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/NotSupportedWSDLException.java
deleted file mode 100644
index 0d69d401f8..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/NotSupportedWSDLException.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.idl.wsdl;
-
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-
-/**
- * An exception to indicate some WSDL styles that we don't support
- */
-public class NotSupportedWSDLException extends InvalidServiceContractException {
-
- /**
- *
- */
- public NotSupportedWSDLException() {
- }
-
- /**
- * @param message
- */
- public NotSupportedWSDLException(String message) {
- super(message);
- }
-
- /**
- * @param message
- * @param cause
- */
- public NotSupportedWSDLException(String message, Throwable cause) {
- super(message, cause);
- }
-
- /**
- * @param cause
- */
- public NotSupportedWSDLException(Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/UnresolveableResourceException.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/UnresolveableResourceException.java
deleted file mode 100644
index 0454569e87..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/UnresolveableResourceException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-/**
- * @version $Rev$ $Date$
- */
-public class UnresolveableResourceException extends WSDLLoaderException {
- public UnresolveableResourceException() {
- }
-
- public UnresolveableResourceException(String message) {
- super(message);
- }
-
- public UnresolveableResourceException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public UnresolveableResourceException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistry.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistry.java
deleted file mode 100644
index 0694811f0d..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistry.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.io.IOException;
-import java.net.URL;
-import javax.wsdl.Definition;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensionRegistry;
-import javax.xml.namespace.QName;
-
-/**
- * A service for caching WSDLs
- *
- * @version $Rev$ $Date$
- */
-@Deprecated
-public interface WSDLDefinitionRegistry {
- /**
- * Loads and registers a WSDL Definition.
- *
- * @param namespace the expected namespace, or null if any namespace should be allowed
- * @param location the location to load the definition from
- * @return the loaded Definition
- * @throws IOException if there was a problem reading the document
- * @throws WSDLException if there was a problem parsing the definition
- */
- Definition loadDefinition(String namespace, URL location) throws IOException, WSDLException;
-
- /**
- * Load and register a WSDL definition as specified in a WSDL2.0 wsdlLocation attribute.
- *
- * @param wsdlLocation the value of the wsdlLocation attribute
- * @param classLoader application classloader used to support relative locations
- * @return the loaded Definition
- * @throws IOException if there was a problem reading the document
- * @throws WSDLException if there was a problem parsing the definition
- */
- Definition loadDefinition(String wsdlLocation, ClassLoader classLoader) throws IOException, WSDLException;
-
- /**
- * Returns the PortType with the supplied qualified name, or null if no such port has been defined.
- *
- * @param name the qualified name of the WSDL portType
- * @return the PortType for the supplied name, or null if none has been defined
- */
- PortType getPortType(QName name);
-
- /**
- * Returns the ServiceDefinition with the supplied qualified name, or null if no such service has been defined.
- *
- * @param name the qualified name of the WSDL service
- * @return the ServiceDefinition for the supplied name, or null if none has been defined
- */
- Service getService(QName name);
-
-
- /**
- * Returns the ExtensionRegistry that is used when parsing WSDL documents during the loadDefinition call.
- *
- * @return the ExtensionRegistry that is used when parsing WSDL documents.
- */
- ExtensionRegistry getExtensionRegistry();
-
- /**
- * Get the XMLSchemaRegistry
- *
- * @return
- */
- XMLSchemaRegistry getSchemaRegistry();
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistryImpl.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistryImpl.java
deleted file mode 100644
index 976a09caca..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistryImpl.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensionRegistry;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-
-/**
- * The default implementation of the runtime WSDL registry
- *
- * @version $Rev$ $Date$
- */
-public class WSDLDefinitionRegistryImpl implements WSDLDefinitionRegistry {
- private final WSDLFactory wsdlFactory;
-
- private final ExtensionRegistry registry;
-
- private final Map<URL, Definition> definitionsByLocation = new HashMap<URL, Definition>();
-
- private final Map<String, List<Definition>> definitionsByNamespace = new HashMap<String, List<Definition>>();
-
- private Monitor monitor;
-
- private XMLSchemaRegistry schemaRegistry;
-
- public WSDLDefinitionRegistryImpl() throws WSDLException {
- wsdlFactory = WSDLFactory.newInstance();
- registry = wsdlFactory.newPopulatedExtensionRegistry();
- }
-
- @Autowire
- public void setSchemaRegistry(XMLSchemaRegistry schemaRegistry) {
- this.schemaRegistry = schemaRegistry;
- }
-
- @org.apache.tuscany.api.annotation.Monitor
- public void setMonitor(Monitor monitor) {
- this.monitor = monitor;
- }
-
- public ExtensionRegistry getExtensionRegistry() {
- return registry;
- }
-
- public Definition loadDefinition(String wsdlLocation, ClassLoader classLoader) throws IOException, WSDLException {
- int index = wsdlLocation.indexOf(' ');
- if (index == -1) {
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, "Invalid wsdlLocation: " + wsdlLocation);
- }
- String namespace = wsdlLocation.substring(0, index).trim();
- URL url;
- URI uri;
- try {
- uri = new URI(wsdlLocation.substring(index + 1).trim());
- } catch (URISyntaxException e) {
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, "Invalid wsdlLocation: " + wsdlLocation);
- }
- if (uri.isAbsolute()) {
- url = uri.toURL();
- } else {
- url = classLoader.getResource(uri.toString());
- if (url == null) {
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, "Resource not found: " + uri);
- }
- }
- return loadDefinition(namespace, url);
- }
-
- public Definition loadDefinition(String namespace, URL location) throws IOException, WSDLException {
- Definition definition = definitionsByLocation.get(location);
- if (definition != null) {
- // return cached copy
- return definition;
- }
-
- if (monitor != null) {
- monitor.readingWSDL(namespace, location);
- }
- WSDLReader reader = wsdlFactory.newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- reader.setExtensionRegistry(registry);
-
- definition = reader.readWSDL(location.toString());
- String definitionNamespace = definition.getTargetNamespace();
- if (namespace != null && !namespace.equals(definitionNamespace)) {
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, namespace + " != "
- + definition.getTargetNamespace());
- }
-
- // Load inline schemas
- getSchemaRegistry().loadSchemas(definition);
- for (Object i : definition.getImports().values()) {
- Import imp = (Import) i;
- Definition imported = imp.getDefinition();
- if (imported != null) {
- getSchemaRegistry().loadSchemas(imported);
- }
- }
-
- if (monitor != null) {
- monitor.cachingDefinition(definitionNamespace, location);
- }
- definitionsByLocation.put(location, definition);
- List<Definition> definitions = definitionsByNamespace.get(definitionNamespace);
- if (definitions == null) {
- definitions = new ArrayList<Definition>();
- definitionsByNamespace.put(definitionNamespace, definitions);
- }
- definitions.add(definition);
-
- return definition;
- }
-
- public PortType getPortType(QName name) {
- String namespace = name.getNamespaceURI();
- List<Definition> definitions = definitionsByNamespace.get(namespace);
- if (definitions == null) {
- return null;
- }
- for (Definition definition : definitions) {
- PortType portType = definition.getPortType(name);
- if (portType != null) {
- return portType;
- }
- }
- return null;
- }
-
- public Service getService(QName name) {
- String namespace = name.getNamespaceURI();
- List<Definition> definitions = definitionsByNamespace.get(namespace);
- if (definitions == null) {
- return null;
- }
- for (Definition definition : definitions) {
- Service service = definition.getService(name);
- if (service != null) {
- return service;
- }
- }
- return null;
- }
-
- public static interface Monitor {
- /**
- * Monitor event emitted immediately before an attempt is made to read WSDL for the supplied namespace from the
- * supplied location.
- *
- * @param namespace the target namespace expected in the WSDL; may be null
- * @param location the location where we will attempt to read the WSDL definition from
- */
- void readingWSDL(String namespace, URL location);
-
- /**
- * Monitor event emitted immediately before registering a WSDL definition in the cache.
- *
- * @param namespace the target namespace for the WSDL
- * @param location the location where the WSDL definition was read from
- */
- void cachingDefinition(String namespace, URL location);
- }
-
- public XMLSchemaRegistry getSchemaRegistry() {
- if (schemaRegistry == null) {
- // Default
- schemaRegistry = new XMLSchemaRegistryImpl();
- }
- return schemaRegistry;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoader.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoader.java
deleted file mode 100644
index fb90e839f5..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoader.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.net.URI;
-import java.util.Collection;
-import javax.wsdl.Definition;
-import javax.wsdl.PortType;
-import javax.wsdl.WSDLException;
-import javax.xml.namespace.QName;
-
-/**
- * Interface for implementations that allow WSDL definitions to be loaded. Currently we do not have a complete solution
- * for handling both WSDL2.0 and WSDL1.1 definitions so the current implementation only deals with loading WSDL1.1. This
- * will change in the near future (for example when Woden supports both forms) so all WSDL1.1 specific methods are
- * deprecated.
- *
- * @version $Rev$ $Date$
- */
-public interface WSDLLoader {
- /**
- * Load a WSDL 1.1 Definition for a namespace from one of specified locations.
- *
- * @param namespace the namespace whose definition should be loaded
- * @param locations a set of possible locations to load from
- * @return the loaded Definition
- * @throws WSDLException if there was a problem loading the definition
- */
- @Deprecated
- Definition loadDefinition(String namespace, Collection<WSDLLocation> locations)
- throws WSDLException, UnresolveableResourceException;
-
- /**
- * Load a WSDL 1.1 Definition from the specified location
- *
- * @param location the location to load from
- * @return the loaded Definition
- * @throws WSDLException if there was a problem loading the definition
- */
- @Deprecated
- Definition loadDefinition(WSDLLocation location) throws WSDLException;
-
- /**
- * Return the WSDL1.1 PortType for the specified interface IRI.
- *
- * @param interfaceIRI the WSDL2.0 interface IRI
- * @param wsdlLocation the location of the WSDL instance
- * @param base a Classloader from which to load
- * @return the specified port type
- */
- @Deprecated
- PortType loadPortType(URI interfaceIRI, String wsdlLocation, ClassLoader base)
- throws WSDLLoaderException, WSDLException;
-
- /**
- * Parses a WSDL2.0 wsdlLocation attribute definition and returns a Collection of all locations it contains.
- *
- * @param wsdlLocation a list of namespace/location pairs as specified by WSDL2.0
- * @param base a ClassLoader to use to resolve relative URLs
- * @return a collection of locations parsed from the string
- * @throws InvalidWSDLLocationException
- */
- Collection<WSDLLocation> getLocations(String wsdlLocation, ClassLoader base) throws InvalidWSDLLocationException;
-
- /**
- * Returns the fully qualified name of a WSDL interface parsed from a IRI as defined by WSDL2.0. The value of the
- * IRI defines the namespace, the fragment specifies the interface component; for example
- * <code>http://example.org/TicketAgent.wsdl20#wsdl.interface(TicketAgent)</code>
- *
- * @param interfaceIRI the IRI for the interface
- * @return the qualified name of the interface
- * @throws UnresolveableResourceException if the URI is relative
- * @throws InvalidFragmentException if the fragment is incorrectly formed
- */
- QName getInterfaceName(URI interfaceIRI) throws UnresolveableResourceException, InvalidFragmentException;
-
- /**
- * Returns an interface parsed from a wsdl.interface fragment.
- *
- * @param fragment the fragment value
- * @return the interface name
- * @throws InvalidFragmentException if the fragment is incorrectly formed
- */
- String getInterfaceName(String fragment) throws InvalidFragmentException;
-
- /**
- * Returns a namespace parsed from an IRI. This is the URI with any fragment removed.
- *
- * @param iri the IRI
- * @return a namespace created by stripping fragment information from the URI
- * @throws UnresolveableResourceException if the URI is relative
- */
- String getNamespace(URI iri) throws UnresolveableResourceException;
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoaderException.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoaderException.java
deleted file mode 100644
index 47a4b8ef1f..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoaderException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import org.apache.tuscany.api.TuscanyException;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class WSDLLoaderException extends TuscanyException {
- protected WSDLLoaderException() {
- }
-
- protected WSDLLoaderException(String message) {
- super(message);
- }
-
- protected WSDLLoaderException(String message, Throwable cause) {
- super(message, cause);
- }
-
- protected WSDLLoaderException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoaderImpl.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoaderImpl.java
deleted file mode 100644
index cdf69fa1e8..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLoaderImpl.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import javax.wsdl.Definition;
-import javax.wsdl.PortType;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensionRegistry;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WSDLLoaderImpl implements WSDLLoader {
- private final WSDLFactory wsdlFactory;
-
- private final ExtensionRegistry registry;
-
- public WSDLLoaderImpl() throws WSDLException {
- wsdlFactory = WSDLFactory.newInstance();
- registry = wsdlFactory.newPopulatedExtensionRegistry();
- }
-
- public PortType loadPortType(URI interfaceIRI, String wsdlLocation, ClassLoader base)
- throws WSDLLoaderException, WSDLException {
- Collection<WSDLLocation> locations = getLocations(wsdlLocation, base);
- QName interfaceName = getInterfaceName(interfaceIRI);
-
- Definition definition = loadDefinition(interfaceName.getNamespaceURI(), locations);
- return definition.getPortType(interfaceName);
- }
-
- public Definition loadDefinition(String namespace, Collection<WSDLLocation> locations)
- throws WSDLException, UnresolveableResourceException {
- for (WSDLLocation location : locations) {
- if (namespace.equals(location.getNamespace()) && location.getLocation() != null) {
- return loadDefinition(location);
- }
- }
- throw new UnresolveableResourceException(namespace);
- }
-
- public Definition loadDefinition(WSDLLocation location) throws WSDLException {
- String namespace = location.getNamespace();
-
- WSDLReader reader = wsdlFactory.newWSDLReader();
- reader.setFeature("javax.wsdl.verbose", false);
- reader.setExtensionRegistry(registry);
-
- Definition definition = reader.readWSDL(location.getLocation().toString());
- String definitionNamespace = definition.getTargetNamespace();
- if (namespace != null && !namespace.equals(definitionNamespace)) {
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, namespace + " != "
- + definition.getTargetNamespace());
- }
- return definition;
- }
-
- public Collection<WSDLLocation> getLocations(String wsdlLocation, ClassLoader base)
- throws InvalidWSDLLocationException {
- String parts[] = wsdlLocation.split("\\s");
- // check the number of parts is a multiple of two
- if ((parts.length & 1) != 0) {
- throw new InvalidWSDLLocationException(wsdlLocation);
- }
- List<WSDLLocation> locations = new ArrayList<WSDLLocation>(parts.length >>> 1);
- for (int i = 0; i < parts.length; i += 2) {
- URL url;
- try {
- URI uri = new URI(parts[i + 1]);
- if (uri.isAbsolute()) {
- url = uri.toURL();
- } else {
- url = base.getResource(uri.toString());
- }
- } catch (MalformedURLException e) {
- throw new InvalidWSDLLocationException(e);
- } catch (URISyntaxException e) {
- throw new InvalidWSDLLocationException(e);
- }
- WSDLLocation location = new WSDLLocation(parts[i], url);
- locations.add(location);
- }
- return locations;
- }
-
- public QName getInterfaceName(URI interfaceIRI) throws UnresolveableResourceException, InvalidFragmentException {
- String namespace = getNamespace(interfaceIRI);
- String interfaceName = getInterfaceName(interfaceIRI.getFragment());
- return new QName(namespace, interfaceName);
- }
-
- public String getInterfaceName(String fragment) throws InvalidFragmentException {
- if (fragment == null) {
- throw new InvalidFragmentException("missing fragment");
- }
- String[] parts = fragment.split("\\s");
- for (String part : parts) {
- if (part.startsWith("wsdl.interface(") && part.charAt(part.length() - 1) == ')') {
- return part.substring(15, part.length() - 1);
- }
- }
- throw new InvalidFragmentException(fragment);
- }
-
- public String getNamespace(URI iri) throws UnresolveableResourceException {
- if (!iri.isAbsolute()) {
- UnresolveableResourceException ure = new UnresolveableResourceException("no namespace defined in " + iri);
- ure.setIdentifier(iri.toString());
- throw ure;
- }
- StringBuilder s = new StringBuilder();
- s.append(iri.getScheme());
- s.append(':');
- s.append(iri.getSchemeSpecificPart());
- return s.toString();
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLocation.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLocation.java
deleted file mode 100644
index a124294c3a..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLLocation.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.net.URL;
-
-/**
- * A location where the WSDL for a namespace can be found.
- *
- * @version $Rev$ $Date$
- */
-public class WSDLLocation {
- private final String namespace;
- private final URL location;
-
- /**
- * Constructor specifying a namespace and where its WSDL can be found.
- *
- * @param namespace the target namespace
- * @param location the location of the WSDL
- */
- public WSDLLocation(String namespace, URL location) {
- this.namespace = namespace;
- this.location = location;
- }
-
- /**
- * Returns the target namespace.
- *
- * @return the target namespace
- */
- public String getNamespace() {
- return namespace;
- }
-
- /**
- * Returns the location where the WSDL definition can be found.
- *
- * @return the location where the WSDL definition can be found
- */
- public URL getLocation() {
- return location;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLOperation.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLOperation.java
deleted file mode 100644
index 75fe1b9964..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLOperation.java
+++ /dev/null
@@ -1,500 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.idl.wsdl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import javax.wsdl.Fault;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.idl.ElementInfo;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.idl.TypeInfo;
-import org.apache.tuscany.spi.idl.WrapperInfo;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.ws.commons.schema.XmlSchemaComplexType;
-import org.apache.ws.commons.schema.XmlSchemaElement;
-import org.apache.ws.commons.schema.XmlSchemaObject;
-import org.apache.ws.commons.schema.XmlSchemaObjectCollection;
-import org.apache.ws.commons.schema.XmlSchemaParticle;
-import org.apache.ws.commons.schema.XmlSchemaSequence;
-import org.apache.ws.commons.schema.XmlSchemaSimpleType;
-import org.apache.ws.commons.schema.XmlSchemaType;
-
-/**
- * Metadata for a WSDL operation
- */
-public class WSDLOperation {
- private static final String OPERATION_KEY = org.apache.tuscany.spi.model.Operation.class.getName();
-
- protected XMLSchemaRegistry schemaRegistry;
-
- protected Operation operation;
-
- private String dataBinding;
-
- protected org.apache.tuscany.spi.model.Operation<QName> operationModel;
-
- protected DataType<List<DataType<QName>>> inputType;
-
- protected DataType<QName> outputType;
-
- protected List<DataType<QName>> faultTypes;
-
- /**
- * @param operation The WSDL4J operation
- * @param dataBinding The default databinding
- * @param schemaRegistry The XML Schema registry
- */
- public WSDLOperation(Operation operation, String dataBinding, XMLSchemaRegistry schemaRegistry) {
- super();
- this.operation = operation;
- this.dataBinding = dataBinding;
- this.schemaRegistry = schemaRegistry;
- this.wrapper = new Wrapper();
- }
-
- private Wrapper wrapper;
-
- private Boolean wrapperStyle;
-
- /**
- * Test if the operation qualifies wrapper style as defined by the JAX-WS 2.0 spec
- *
- * @return true if the operation qualifies wrapper style, otherwise false
- */
- public boolean isWrapperStyle() {
- if (wrapperStyle == null) {
- wrapperStyle =
- Boolean.valueOf(wrapper.getInputChildElements() != null
- && (operation.getOutput() == null || wrapper.getOutputChildElements() != null));
- }
- return wrapperStyle.booleanValue();
- }
-
- public Wrapper getWrapper() {
- if (!isWrapperStyle()) {
- throw new IllegalStateException("The operation is not wrapper style.");
- } else {
- return wrapper;
- }
- }
-
- /**
- * @return
- * @throws InvalidServiceContractException
- */
- public DataType<List<DataType<QName>>> getInputType() throws InvalidServiceContractException {
- if (inputType == null) {
- Input input = operation.getInput();
- Message message = (input == null) ? null : input.getMessage();
- inputType = getMessageType(message);
- inputType.setDataBinding("idl:input");
- }
- return inputType;
- }
-
- /**
- * @return
- * @throws NotSupportedWSDLException
- */
- public DataType<QName> getOutputType() throws InvalidServiceContractException {
- if (outputType == null) {
- Output output = operation.getOutput();
- Message outputMsg = (output == null) ? null : output.getMessage();
-
- List outputParts = (outputMsg == null) ? null : outputMsg.getOrderedParts(null);
- if (outputParts != null && outputParts.size() > 0) {
- if (outputParts.size() > 1) {
- // We don't support output with multiple parts
- throw new NotSupportedWSDLException("Multi-part output is not supported");
- }
- Part part = (Part) outputParts.get(0);
- outputType = new WSDLPart(part).getDataType();
- // outputType.setMetadata(WSDLOperation.class.getName(), this);
- }
- }
- return outputType;
- }
-
- /**
- * @return
- * @throws NotSupportedWSDLException
- */
- public List<DataType<QName>> getFaultTypes() throws InvalidServiceContractException {
- if (faultTypes == null) {
- Collection faults = operation.getFaults().values();
- faultTypes = new ArrayList<DataType<QName>>();
- for (Object f : faults) {
- Fault fault = (Fault) f;
- Message faultMsg = fault.getMessage();
- List faultParts = faultMsg.getOrderedParts(null);
- if (faultParts.size() != 1) {
- throw new NotSupportedWSDLException("The fault message MUST have a single part");
- }
- Part part = (Part) faultParts.get(0);
- WSDLPart wsdlPart = new WSDLPart(part);
- faultTypes.add(wsdlPart.getDataType());
- }
- }
- return faultTypes;
- }
-
- private DataType<List<DataType<QName>>> getMessageType(Message message) throws InvalidServiceContractException {
- List<DataType<QName>> partTypes = new ArrayList<DataType<QName>>();
- if (message != null) {
- Collection parts = message.getOrderedParts(null);
- for (Object p : parts) {
- WSDLPart part = new WSDLPart((Part) p);
- DataType<QName> partType = part.getDataType();
- partTypes.add(partType);
- }
- }
- return new DataType<List<DataType<QName>>>(dataBinding, Object[].class, partTypes);
- }
-
- /**
- * @return
- * @throws NotSupportedWSDLException
- */
- public org.apache.tuscany.spi.model.Operation<QName> getOperation() throws InvalidServiceContractException {
- if (operationModel == null) {
- boolean oneway = (operation.getOutput() == null);
- operationModel =
- new org.apache.tuscany.spi.model.Operation<QName>(operation.getName(), getInputType(),
- getOutputType(), getFaultTypes(), oneway, dataBinding);
- operationModel.setWrapperStyle(isWrapperStyle());
- // operationModel.setMetaData(WSDLOperation.class.getName(), this);
- if (isWrapperStyle()) {
- operationModel.setWrapper(getWrapper().getWrapperInfo());
- // Register the operation with the types
- for (DataType<?> d : wrapper.getUnwrappedInputType().getLogical()) {
- d.setMetadata(OPERATION_KEY, operationModel);
- }
- if (wrapper.getUnwrappedOutputType() != null) {
- wrapper.getUnwrappedOutputType().setMetadata(OPERATION_KEY, operationModel);
- }
- }
- }
- inputType.setMetadata(OPERATION_KEY, operationModel);
- if (outputType != null) {
- outputType.setMetadata(OPERATION_KEY, operationModel);
- }
- return operationModel;
- }
-
- /**
- * Metadata for a WSDL part
- */
- public class WSDLPart {
- private Part part;
-
- private XmlSchemaElement element;
-
- private DataType<QName> dataType;
-
- public WSDLPart(Part part) throws InvalidWSDLException {
- this.part = part;
- QName elementName = part.getElementName();
- if (elementName != null) {
- element = schemaRegistry.getElement(elementName);
- if (element == null) {
- throw new InvalidWSDLException("Element cannot be resolved: " + elementName);
- }
- } else {
- // Create an faked XSD element to host the metadata
- element = new XmlSchemaElement();
- element.setName(part.getName());
- element.setQName(new QName(null, part.getName()));
- QName typeName = part.getTypeName();
- if (typeName != null) {
- XmlSchemaType type = schemaRegistry.getType(typeName);
- if (type == null) {
- throw new InvalidWSDLException("Type cannot be resolved: " + typeName);
- }
- element.setSchemaType(type);
- element.setSchemaTypeName(type.getQName());
- }
- }
- dataType = new DataType<QName>(dataBinding, Object.class, element.getQName());
- // dataType.setMetadata(WSDLPart.class.getName(), this);
- dataType.setMetadata(ElementInfo.class.getName(), getElementInfo(element));
- }
-
- /**
- * @return the element
- */
- public XmlSchemaElement getElement() {
- return element;
- }
-
- /**
- * @return the part
- */
- public Part getPart() {
- return part;
- }
-
- /**
- * @return the dataType
- */
- public DataType<QName> getDataType() {
- return dataType;
- }
- }
-
- /**
- * The "Wrapper Style" WSDL operation is defined by The Java API for XML-Based Web Services (JAX-WS) 2.0
- * specification, section 2.3.1.2 Wrapper Style.
- * <p>
- * A WSDL operation qualifies for wrapper style mapping only if the following criteria are met:
- * <ul>
- * <li>(i) The operation’s input and output messages (if present) each contain only a single part
- * <li>(ii) The input message part refers to a global element declaration whose localname is equal to the operation
- * name
- * <li>(iii) The output message part refers to a global element declaration
- * <li>(iv) The elements referred to by the input and output message parts (henceforth referred to as wrapper
- * elements) are both complex types defined using the xsd:sequence compositor
- * <li>(v) The wrapper elements only contain child elements, they must not contain other structures such as
- * wildcards (element or attribute), xsd:choice, substitution groups (element references are not permitted) or
- * attributes; furthermore, they must not be nillable.
- * </ul>
- */
- public class Wrapper {
- private XmlSchemaElement inputWrapperElement;
-
- private XmlSchemaElement outputWrapperElement;
-
- private List<XmlSchemaElement> inputElements;
-
- private List<XmlSchemaElement> outputElements;
-
- private DataType<List<DataType<QName>>> unwrappedInputType;
-
- private DataType<QName> unwrappedOutputType;
-
- private transient WrapperInfo wrapperInfo;
-
- private List<XmlSchemaElement> getChildElements(XmlSchemaElement element) {
- if (element == null) {
- return null;
- }
- XmlSchemaType type = element.getSchemaType();
- if (!(type instanceof XmlSchemaComplexType)) {
- // Has to be a complexType
- return null;
- }
- XmlSchemaComplexType complexType = (XmlSchemaComplexType) type;
- if (complexType.getAttributes().getCount() != 0 || complexType.getAnyAttribute() != null) {
- // No attributes
- return null;
- }
- XmlSchemaParticle particle = complexType.getParticle();
- if (particle == null) {
- // No particle
- return Collections.emptyList();
- }
- if (!(particle instanceof XmlSchemaSequence)) {
- return null;
- }
- XmlSchemaSequence sequence = (XmlSchemaSequence) complexType.getParticle();
- XmlSchemaObjectCollection items = sequence.getItems();
- List<XmlSchemaElement> childElements = new ArrayList<XmlSchemaElement>();
- for (int i = 0; i < items.getCount(); i++) {
- XmlSchemaObject schemaObject = items.getItem(i);
- if (!(schemaObject instanceof XmlSchemaElement)) {
- return null;
- }
- XmlSchemaElement childElement = (XmlSchemaElement) schemaObject;
- if (childElement.getName() == null || childElement.getRefName() != null || childElement.isNillable()) {
- return null;
- }
- // TODO: Do we support maxOccurs >1 ?
- if (childElement.getMaxOccurs() > 1) {
- return null;
- }
- childElements.add(childElement);
- }
- return childElements;
- }
-
- /**
- * Return a list of child XSD elements under the wrapped request element
- *
- * @return a list of child XSD elements or null if if the request element is not wrapped
- */
- public List<XmlSchemaElement> getInputChildElements() {
- if (inputElements != null) {
- return inputElements;
- }
- Input input = operation.getInput();
- if (input != null) {
- Message inputMsg = input.getMessage();
- Collection parts = inputMsg.getParts().values();
- if (parts.size() != 1) {
- return null;
- }
- Part part = (Part) parts.iterator().next();
- QName elementName = part.getElementName();
- if (elementName == null) {
- return null;
- }
- if (!operation.getName().equals(elementName.getLocalPart())) {
- return null;
- }
- inputWrapperElement = schemaRegistry.getElement(elementName);
- if (inputWrapperElement == null) {
- return null;
- }
- inputElements = getChildElements(inputWrapperElement);
- return inputElements;
- } else {
- return null;
- }
- }
-
- /**
- * Return a list of child XSD elements under the wrapped response element
- *
- * @return a list of child XSD elements or null if if the response element is not wrapped
- */
- public List<XmlSchemaElement> getOutputChildElements() {
- if (outputElements != null) {
- return outputElements;
- }
- Output output = operation.getOutput();
- if (output != null) {
- Message outputMsg = output.getMessage();
- Collection parts = outputMsg.getParts().values();
- if (parts.size() != 1) {
- return null;
- }
- Part part = (Part) parts.iterator().next();
- QName elementName = part.getElementName();
- if (elementName == null) {
- return null;
- }
- outputWrapperElement = schemaRegistry.getElement(elementName);
- if (outputWrapperElement == null) {
- return null;
- }
- outputElements = getChildElements(outputWrapperElement);
- // FIXME: Do we support multiple child elements for the response?
- return outputElements;
- } else {
- return null;
- }
- }
-
- /**
- * @return the inputWrapperElement
- */
- public XmlSchemaElement getInputWrapperElement() {
- return inputWrapperElement;
- }
-
- /**
- * @return the outputWrapperElement
- */
- public XmlSchemaElement getOutputWrapperElement() {
- return outputWrapperElement;
- }
-
- public DataType<List<DataType<QName>>> getUnwrappedInputType() {
- if (unwrappedInputType == null) {
- List<DataType<QName>> childTypes = new ArrayList<DataType<QName>>();
- for (XmlSchemaElement element : getInputChildElements()) {
- DataType<QName> type = new DataType<QName>(dataBinding, Object.class, element.getQName());
- type.setMetadata(ElementInfo.class.getName(), getElementInfo(element));
- childTypes.add(type);
- }
- unwrappedInputType =
- new DataType<List<DataType<QName>>>("idl:unwrapped.input", Object[].class, childTypes);
- }
- return unwrappedInputType;
- }
-
- public DataType<QName> getUnwrappedOutputType() throws InvalidServiceContractException {
- if (unwrappedOutputType == null) {
- List<XmlSchemaElement> elements = getOutputChildElements();
- if (elements != null && elements.size() > 0) {
- if (elements.size() > 1) {
- // We don't support output with multiple parts
- throw new NotSupportedWSDLException("Multi-part output is not supported");
- }
- XmlSchemaElement element = elements.get(0);
- unwrappedOutputType = new DataType<QName>(dataBinding, Object.class, element.getQName());
- unwrappedOutputType.setMetadata(ElementInfo.class.getName(), getElementInfo(element));
- }
- }
- return unwrappedOutputType;
- }
-
- public WrapperInfo getWrapperInfo() throws InvalidServiceContractException {
- if (wrapperInfo == null) {
- ElementInfo in = getElementInfo(getInputWrapperElement());
- ElementInfo out = getElementInfo(getOutputWrapperElement());
- List<ElementInfo> inChildren = new ArrayList<ElementInfo>();
- for (XmlSchemaElement e : getInputChildElements()) {
- inChildren.add(getElementInfo(e));
- }
- List<ElementInfo> outChildren = new ArrayList<ElementInfo>();
- if (out != null) {
- for (XmlSchemaElement e : getOutputChildElements()) {
- outChildren.add(getElementInfo(e));
- }
- }
- wrapperInfo =
- new WrapperInfo(in, out, inChildren, outChildren, getUnwrappedInputType(), getUnwrappedOutputType());
- }
- return wrapperInfo;
- }
- }
-
- private static ElementInfo getElementInfo(XmlSchemaElement element) {
- if (element == null) {
- return null;
- }
- return new ElementInfo(element.getQName(), getTypeInfo(element.getSchemaType()));
- }
-
- private static TypeInfo getTypeInfo(XmlSchemaType type) {
- if (type == null) {
- return null;
- }
- XmlSchemaType baseType = (XmlSchemaType) type.getBaseSchemaType();
- QName name = type.getQName();
- boolean simple = (type instanceof XmlSchemaSimpleType);
- if (baseType == null) {
- return new TypeInfo(name, simple, null);
- } else {
- return new TypeInfo(name, simple, getTypeInfo(baseType));
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLServiceContract.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLServiceContract.java
deleted file mode 100644
index 868ad0f3b4..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLServiceContract.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.model.ServiceContract;
-
-/**
- * Represents a service contract specified by a WSDL
- *
- * @version $Rev$ $Date$
- */
-public class WSDLServiceContract extends ServiceContract<QName> {
- private PortType portType;
- private PortType callbackPortType;
-
- /**
- *
- */
- public WSDLServiceContract() {
- super();
- this.remotable = true; // WSDL interface is always remotable by the SCA spec
- }
-
-
- public PortType getPortType() {
- return portType;
- }
-
- public void setPortType(PortType portType) {
- this.portType = portType;
- }
-
- public PortType getCallbackPortType() {
- return callbackPortType;
- }
-
- public void setCallbackPortType(PortType callbackPortType) {
- this.callbackPortType = callbackPortType;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistry.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistry.java
deleted file mode 100644
index 681e08be4d..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistry.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.xml.namespace.QName;
-
-import org.apache.ws.commons.schema.XmlSchema;
-import org.apache.ws.commons.schema.XmlSchemaElement;
-import org.apache.ws.commons.schema.XmlSchemaException;
-import org.apache.ws.commons.schema.XmlSchemaType;
-
-/**
- * A service for caching XML Schemas
- *
- * @version $Rev$ $Date$
- */
-public interface XMLSchemaRegistry {
- /**
- * Load all inline schemas from the WSDL definition
- *
- * @param definition The WSDL defintion whose types element contains a list of schemas
- * @return A list of inline schemas
- */
- List<XmlSchema> loadSchemas(Definition definition);
-
- /**
- * Loads and registers a XML schema.
- *
- * @param namespace the expected namespace, or null if any namespace should be allowed
- * @param location the location to load the schema from
- * @return the loaded Definition
- * @throws IOException if there was a problem reading the document
- * @throws XmlSchemaException if there was a problem parsing the schema
- */
- XmlSchema loadSchema(String namespace, URL location) throws IOException, XmlSchemaException;
-
- /**
- * Load and register a XML schema as specified in a XSD schemaLocation attribute.
- *
- * @param schemaLocation the value of the schemaLocation attribute
- * @param classLoader application classloader used to support relative locations
- * @return the loaded schema
- * @throws IOException if there was a problem reading the document
- * @throws XmlSchemaException if there was a problem parsing the schema
- */
- XmlSchema loadSchema(String schemaLocation, ClassLoader classLoader) throws IOException, XmlSchemaException;
-
- /**
- * Returns the XSD Element with the supplied qualified name, or null if no such element has been defined.
- *
- * @param name the qualified name of the XSD element
- * @return the XSD element for the supplied name, or null if none has been defined
- */
- XmlSchemaElement getElement(QName name);
-
- /**
- * Returns the XmlSchemaType with the supplied qualified name, or null if no such type has been defined.
- *
- * @param name the qualified name of the XSD type
- * @return the XSD type for the supplied name, or null if none has been defined
- */
- XmlSchemaType getType(QName name);
-
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistryImpl.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistryImpl.java
deleted file mode 100644
index 08600e4b7e..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistryImpl.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.idl.wsdl;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.schema.Schema;
-import javax.xml.namespace.QName;
-
-import org.apache.ws.commons.schema.XmlSchema;
-import org.apache.ws.commons.schema.XmlSchemaCollection;
-import org.apache.ws.commons.schema.XmlSchemaElement;
-import org.apache.ws.commons.schema.XmlSchemaException;
-import org.apache.ws.commons.schema.XmlSchemaType;
-import org.osoa.sca.annotations.Service;
-import org.w3c.dom.Element;
-
-/**
- * Default implementation of XMLSchemaRegistry
- */
-@Service(XMLSchemaRegistry.class)
-public class XMLSchemaRegistryImpl implements XMLSchemaRegistry {
- private final XmlSchemaCollection collection;
-
- /**
- * @param collection
- */
- public XMLSchemaRegistryImpl(XmlSchemaCollection collection) {
- super();
- this.collection = collection;
- }
-
- public XMLSchemaRegistryImpl() {
- super();
- this.collection = new XmlSchemaCollection();
- }
-
- public XmlSchemaElement getElement(QName name) {
- return collection.getElementByQName(name);
- }
-
- public XmlSchemaType getType(QName name) {
- return collection.getTypeByQName(name);
- }
-
- public List<XmlSchema> loadSchemas(Definition definition) {
- Types types = definition.getTypes();
- if (types == null) {
- return Collections.emptyList();
- }
- List<XmlSchema> schemas = new ArrayList<XmlSchema>();
- for (Object ext : types.getExtensibilityElements()) {
- if (ext instanceof Schema) {
- Element element = ((Schema) ext).getElement();
- XmlSchema s = collection.read(element, element.getBaseURI());
- schemas.add(s);
- }
- }
- return schemas;
- }
-
- public XmlSchema loadSchema(String namespace, URL location) throws IOException, XmlSchemaException {
- XmlSchema schema;
- XmlSchema[] schemaList = collection.getXmlSchema(location.toExternalForm());
- if (schemaList != null && schemaList.length > 0) {
- schema = schemaList[0];
- } else {
- InputStream is = location.openStream();
- schema = collection.read(new InputStreamReader(is), null);
- is.close();
- }
- if (namespace != null && schema != null && !namespace.equals(schema.getTargetNamespace())) {
- throw new XmlSchemaException(namespace + " != " + schema.getTargetNamespace());
- }
- return schema;
- }
-
- public XmlSchema loadSchema(String schemaLocation, ClassLoader classLoader) throws IOException, XmlSchemaException {
- int index = schemaLocation.indexOf(' ');
- if (index == -1) {
- throw new XmlSchemaException("Invalid schemaLocation: " + schemaLocation);
- }
- String namespace = schemaLocation.substring(0, index).trim();
- URL url;
- URI uri;
- try {
- uri = new URI(schemaLocation.substring(index + 1).trim());
- } catch (URISyntaxException e) {
- throw new XmlSchemaException("Invalid schemaLocation: " + schemaLocation);
- }
- if (uri.isAbsolute()) {
- url = uri.toURL();
- } else {
- url = classLoader.getResource(uri.toString());
- if (url == null) {
- throw new XmlSchemaException("Resource cannot be resolved: schemaLocation: " + schemaLocation);
- }
- }
- return loadSchema(namespace, url);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/resources/META-INF/sca/default.scdl b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/resources/META-INF/sca/default.scdl
deleted file mode 100644
index 142df15171..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/resources/META-INF/sca/default.scdl
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- IDL WSDL extension
-
- $Rev: 440894 $ $Date: 2006-09-06 15:52:01 -0700 (Wed, 06 Sep 2006) $
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.idl.wsdl">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.idl</group>
- <name>wsdl</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <component name="interface.wsdl.Loader">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.InterfaceWSDLLoader" />
- </component>
-
- <component name="wsdl.Registry">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl" initLevel="40" />
- </component>
-
- <component name="xmlSchema.registry">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.XMLSchemaRegistryImpl" initLevel="35" />
- </component>
-
- <component name="interface.wsdl.Introspector">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.InterfaceWSDLIntrospectorImpl" initLevel="40" />
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/resources/META-INF/sca/idl.wsdl.scdl b/branches/sca-java-M2/sca/services/idl/wsdl/src/main/resources/META-INF/sca/idl.wsdl.scdl
deleted file mode 100644
index 28b3458bf1..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/main/resources/META-INF/sca/idl.wsdl.scdl
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- IDL WSDL extension
-
- This is a copy to be included by other extensions
-
- $Rev: 440894 $ $Date: 2006-09-06 15:52:01 -0700 (Wed, 06 Sep 2006) $
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.idl.wsdl.include">
-
- <dependency xmlns="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2">
- <group>org.apache.tuscany.sca.services.idl</group>
- <name>wsdl</name>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </dependency>
-
- <component name="interface.wsdl.Loader">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.InterfaceWSDLLoader" />
- </component>
-
- <component name="wsdl.Registry">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl" initLevel="40" />
- </component>
-
- <component name="xmlSchema.registry">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.XMLSchemaRegistryImpl" initLevel="35" />
- </component>
-
- <component name="interface.wsdl.Introspector">
- <system:implementation.system class="org.apache.tuscany.idl.wsdl.InterfaceWSDLIntrospectorImpl" initLevel="40" />
- </component>
-
-</composite> \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImplTestCase.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImplTestCase.java
deleted file mode 100644
index 8f263607e0..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImplTestCase.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.idl.wsdl;
-
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Definition;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.tuscany.spi.model.Operation;
-
-/**
- * Test case for InterfaceWSDLIntrospectorImpl
- */
-public class InterfaceWSDLIntrospectorImplTestCase extends TestCase {
- private static final QName PORTTYPE_NAME = new QName("http://example.com/stockquote.wsdl", "StockQuotePortType");
-
- private WSDLDefinitionRegistryImpl registry;
- private PortType portType;
-
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- registry = new WSDLDefinitionRegistryImpl();
- registry.setSchemaRegistry(new XMLSchemaRegistryImpl());
- URL url = getClass().getResource("stockquote.wsdl");
- Definition definition = registry.loadDefinition(null, url);
- portType = definition.getPortType(PORTTYPE_NAME);
- }
-
- public final void testIntrospectPortType() throws InvalidServiceContractException {
- InterfaceWSDLIntrospector introspector = new InterfaceWSDLIntrospectorImpl(registry);
- WSDLServiceContract contract = introspector.introspect(portType);
- Assert.assertEquals(contract.getInterfaceName(), "StockQuotePortType");
- Map<String, Operation<QName>> operations = contract.getOperations();
- Assert.assertEquals(1, operations.size());
- Operation<QName> operation = operations.get("getLastTradePrice");
- Assert.assertNotNull(operation);
- DataType<List<DataType<QName>>> inputType = operation.getInputType();
- Assert.assertEquals(1, inputType.getLogical().size());
- DataType<QName> returnType = operation.getOutputType();
- Assert.assertNotNull(returnType);
- Assert.assertEquals(0, operation.getFaultTypes().size());
- Assert.assertEquals(1, operation.getWrapper().getInputChildElements().size());
- Assert.assertEquals(1, operation.getWrapper().getOutputChildElements().size());
- }
-
- public final void testIntrospectPortTypePortType() throws InvalidServiceContractException {
- InterfaceWSDLIntrospector introspector = new InterfaceWSDLIntrospectorImpl(registry);
- WSDLServiceContract contract = introspector.introspect(portType, portType);
- Assert.assertEquals("StockQuotePortType", contract.getInterfaceName());
- Assert.assertEquals("StockQuotePortType", contract.getCallbackName());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistryTestCase.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistryTestCase.java
deleted file mode 100644
index a7d7457f76..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLDefinitionRegistryTestCase.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.io.IOException;
-import java.net.URL;
-import javax.wsdl.Definition;
-import javax.wsdl.WSDLException;
-import javax.xml.namespace.QName;
-
-import junit.framework.TestCase;
-import junit.framework.Assert;
-
-/**
- * Verifies the default WSDL registry implementation
- *
- * @version $Rev$ $Date$
- */
-public class WSDLDefinitionRegistryTestCase extends TestCase {
- private static final String NS = "http://www.example.org";
- private static final WSDLDefinitionRegistryImpl.Monitor NULL_MONITOR = new WSDLDefinitionRegistryImpl.Monitor() {
- public void readingWSDL(String namespace, URL location) {
- }
-
- public void cachingDefinition(String namespace, URL location) {
- }
- };
- private WSDLDefinitionRegistryImpl wsdlRegistry;
- private ClassLoader cl;
- private URL exampleWsdl;
-
-
- public void testLoadFromAbsoluteWSDLLocation() {
- try {
- Definition def = wsdlRegistry.loadDefinition(NS + ' ' + exampleWsdl, cl);
- Assert.assertNotNull(def.getPortType(new QName(NS, "HelloWorld")));
- } catch (IOException e) {
- Assert.fail(e.getMessage());
- } catch (WSDLException e) {
- Assert.fail(e.getMessage());
- }
- }
-
- public void testLoadFromRelativeWSDLLocation() {
- try {
- Definition def = wsdlRegistry.loadDefinition(NS + " org/apache/tuscany/idl/wsdl/example.wsdl", cl);
- Assert.assertNotNull(def.getPortType(new QName(NS, "HelloWorld")));
- } catch (IOException e) {
- Assert.fail(e.getMessage());
- } catch (WSDLException e) {
- Assert.fail(e.getMessage());
- }
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- wsdlRegistry = new WSDLDefinitionRegistryImpl();
- wsdlRegistry.setSchemaRegistry(new XMLSchemaRegistryImpl());
- wsdlRegistry.setMonitor(NULL_MONITOR);
- exampleWsdl = getClass().getResource("example.wsdl");
- cl = getClass().getClassLoader();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLLoaderImplTestCase.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLLoaderImplTestCase.java
deleted file mode 100644
index c05cf9770f..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLLoaderImplTestCase.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.net.URI;
-
-import javax.xml.namespace.QName;
-
-import junit.framework.TestCase;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WSDLLoaderImplTestCase extends TestCase {
- private WSDLLoaderImpl loader;
- private URI exampleURI;
- private QName exampleName;
-
- public void testGetNamespace() throws UnresolveableResourceException {
- assertEquals("http://example.org/TicketAgent.wsdl20", loader.getNamespace(exampleURI));
- }
-
- public void testGetInterfaceNameFromFragment() throws UnresolveableResourceException, InvalidFragmentException {
- assertEquals("TicketAgent", loader.getInterfaceName("wsdl.interface(TicketAgent)"));
- }
-
- public void testGetInterfaceNameFromURI() throws UnresolveableResourceException, InvalidFragmentException {
- assertEquals(exampleName, loader.getInterfaceName(exampleURI));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- loader = new WSDLLoaderImpl();
- exampleURI = URI.create("http://example.org/TicketAgent.wsdl20#wsdl.interface(TicketAgent)");
- exampleName = new QName("http://example.org/TicketAgent.wsdl20", "TicketAgent");
- }
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLOperationTestCase.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLOperationTestCase.java
deleted file mode 100644
index b77e88d408..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLOperationTestCase.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.idl.wsdl;
-
-import java.net.URL;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.spi.idl.ElementInfo;
-import org.apache.tuscany.spi.model.DataType;
-
-/**
- * Test case for WSDLOperation
- */
-public class WSDLOperationTestCase extends TestCase {
- private static final QName PORTTYPE_NAME = new QName("http://example.com/stockquote.wsdl", "StockQuotePortType");
-
- private WSDLDefinitionRegistryImpl registry;
-
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- registry = new WSDLDefinitionRegistryImpl();
- registry.setSchemaRegistry(new XMLSchemaRegistryImpl());
- }
-
- public final void testWrappedOperation() throws Exception {
- URL url = getClass().getResource("stockquote.wsdl");
- Definition definition = registry.loadDefinition(null, url);
- PortType portType = definition.getPortType(PORTTYPE_NAME);
- Operation operation = portType.getOperation("getLastTradePrice", null, null);
-
- WSDLOperation op = new WSDLOperation(operation, "org.w3c.dom.Node", registry.getSchemaRegistry());
-
- DataType<List<DataType<QName>>> inputType = op.getInputType();
- Assert.assertEquals(1, inputType.getLogical().size());
- Assert.assertEquals(new QName("http://example.com/stockquote.xsd", "getLastTradePrice"), inputType.getLogical()
- .get(0).getLogical());
-
- DataType<QName> outputType = op.getOutputType();
- Assert.assertEquals(new QName("http://example.com/stockquote.xsd", "getLastTradePriceResponse"), outputType
- .getLogical());
- Assert.assertTrue(op.isWrapperStyle());
-
- DataType<List<DataType<QName>>> unwrappedInputType = op.getWrapper().getUnwrappedInputType();
- List<DataType<QName>> childTypes = unwrappedInputType.getLogical();
- Assert.assertEquals(1, childTypes.size());
- DataType<QName> childType = childTypes.get(0);
- Assert.assertEquals(new QName(null, "tickerSymbol"), childType.getLogical());
- ElementInfo element = (ElementInfo) childType.getMetadata(ElementInfo.class.getName());
- Assert.assertNotNull(element);
-
- childType = op.getWrapper().getUnwrappedOutputType();
- Assert.assertEquals(new QName(null, "price"), childType.getLogical());
- element = (ElementInfo) childType.getMetadata(ElementInfo.class.getName());
- Assert.assertNotNull(element);
- }
-
- public final void testUnwrappedOperation() throws Exception {
- URL url = getClass().getResource("unwrapped-stockquote.wsdl");
- Definition definition = registry.loadDefinition(null, url);
- PortType portType = definition.getPortType(PORTTYPE_NAME);
-
- Operation operation = portType.getOperation("getLastTradePrice1", null, null);
- WSDLOperation op = new WSDLOperation(operation, "org.w3c.dom.Node", registry.getSchemaRegistry());
- Assert.assertFalse(op.isWrapperStyle());
- Assert.assertEquals(1, op.getInputType().getLogical().size());
-
- operation = portType.getOperation("getLastTradePrice2", null, null);
- op = new WSDLOperation(operation, "org.w3c.dom.Node", registry.getSchemaRegistry());
- Assert.assertFalse(op.isWrapperStyle());
- Assert.assertEquals(2, op.getInputType().getLogical().size());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WrapperStyleOperationTestCase.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WrapperStyleOperationTestCase.java
deleted file mode 100644
index 748c790297..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WrapperStyleOperationTestCase.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.idl.wsdl;
-
-import java.net.URL;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-/**
- * Test case for WSDLOperation
- */
-public class WrapperStyleOperationTestCase extends TestCase {
- private static final QName PORTTYPE_NAME = new QName("http://example.com/stockquote.wsdl", "StockQuotePortType");
-
- private WSDLDefinitionRegistryImpl registry;
-
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- registry = new WSDLDefinitionRegistryImpl();
- registry.setSchemaRegistry(new XMLSchemaRegistryImpl());
- }
-
- public final void testWrappedOperation() throws Exception {
- URL url = getClass().getResource("stockquote.wsdl");
- Definition definition = registry.loadDefinition(null, url);
- PortType portType = definition.getPortType(PORTTYPE_NAME);
- Operation operation = portType.getOperation("getLastTradePrice", null, null);
- WSDLOperation op = new WSDLOperation(operation, "org.w3c.dom.Node", registry.getSchemaRegistry());
- Assert.assertTrue(op.isWrapperStyle());
- Assert.assertEquals(1, op.getWrapper().getInputChildElements().size());
- Assert.assertEquals(1, op.getWrapper().getOutputChildElements().size());
- }
-
- public final void testUnwrappedOperation() throws Exception {
- URL url = getClass().getResource("unwrapped-stockquote.wsdl");
- Definition definition = registry.loadDefinition(null, url);
- PortType portType = definition.getPortType(PORTTYPE_NAME);
- Operation operation = portType.getOperation("getLastTradePrice1", null, null);
- WSDLOperation op = new WSDLOperation(operation, "org.w3c.dom.Node", registry.getSchemaRegistry());
- Assert.assertFalse(op.isWrapperStyle());
- operation = portType.getOperation("getLastTradePrice2", null, null);
- op = new WSDLOperation(operation, "org.w3c.dom.Node", registry.getSchemaRegistry());
- Assert.assertFalse(op.isWrapperStyle());
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistryImplTestCase.java b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistryImplTestCase.java
deleted file mode 100644
index 60433d3bc1..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/XMLSchemaRegistryImplTestCase.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.idl.wsdl;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.xml.namespace.QName;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.ws.commons.schema.XmlSchema;
-import org.apache.ws.commons.schema.XmlSchemaComplexType;
-import org.apache.ws.commons.schema.XmlSchemaElement;
-import org.apache.ws.commons.schema.XmlSchemaException;
-import org.apache.ws.commons.schema.XmlSchemaObjectCollection;
-import org.apache.ws.commons.schema.XmlSchemaSequence;
-import org.apache.ws.commons.schema.XmlSchemaType;
-
-/**
- * Verifies the default XSD registry implementation
- *
- * @version $Rev$ $Date$
- */
-public class XMLSchemaRegistryImplTestCase extends TestCase {
- private static final QName PO_ELEMENT_NAME = new QName("http://www.example.com/IPO", "purchaseOrder");
- private static final QName PO_TYPE_NAME = new QName("http://www.example.com/IPO", "PurchaseOrderType");
-
- private static final String NS = "http://example.com/stockquote.xsd";
- private static final QName GET_LAST_TRADE_PRICE_ELEMENT_NAME = new QName(NS, "getLastTradePrice");
-
- private XMLSchemaRegistryImpl xsdRegistry;
-
- private WSDLDefinitionRegistryImpl wsdlRegistry;
-
- private ClassLoader cl;
-
- private URL wsdl;
-
- public void testLoadFromAbsoluteWSDLLocation() {
- try {
- Definition definition = wsdlRegistry.loadDefinition(null, wsdl);
- List<XmlSchema> schemas = xsdRegistry.loadSchemas(definition);
- Assert.assertTrue(schemas.size() == 1);
- XmlSchema schema = schemas.get(0);
- XmlSchemaElement element = schema.getElementByName(GET_LAST_TRADE_PRICE_ELEMENT_NAME);
- Assert.assertNotNull(element);
- XmlSchemaType type = element.getSchemaType();
- XmlSchemaComplexType complexType = (XmlSchemaComplexType) type;
- XmlSchemaSequence sequence = (XmlSchemaSequence) complexType.getParticle();
- XmlSchemaObjectCollection items = sequence.getItems();
- Assert.assertTrue(items.getItem(0) instanceof XmlSchemaElement);
- } catch (Exception e) {
- Assert.fail(e.getMessage());
- }
- }
-
- public void testSchemaLocation() throws IOException {
- String schemaLocation = "http://www.example.com/IPO org/apache/tuscany/idl/wsdl/ipo.xsd";
- XmlSchema schema = xsdRegistry.loadSchema(schemaLocation, cl);
- Assert.assertNotNull(schema);
- Assert.assertNotNull(schema.getElementByName(PO_ELEMENT_NAME));
- Assert.assertNotNull(xsdRegistry.getElement(PO_ELEMENT_NAME));
- Assert.assertNotNull(schema.getTypeByName(PO_TYPE_NAME));
- Assert.assertNotNull(xsdRegistry.getType(PO_TYPE_NAME));
-
-
- schemaLocation = "http://www.example.com/IPO1 org/apache/tuscany/idl/wsdl/ipo.xsd";
- try {
- schema = xsdRegistry.loadSchema(schemaLocation, cl);
- Assert.fail("");
- } catch (XmlSchemaException e) {
- Assert.assertTrue(e.getMessage().contains("http://www.example.com/IPO1 !="));
- }
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- xsdRegistry = new XMLSchemaRegistryImpl();
- wsdlRegistry = new WSDLDefinitionRegistryImpl();
- wsdlRegistry.setSchemaRegistry(xsdRegistry);
- wsdl = getClass().getResource("stockquote.wsdl");
- cl = getClass().getClassLoader();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/example.wsdl b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/example.wsdl
deleted file mode 100644
index 5e8e5dad0d..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/example.wsdl
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<wsdl:definitions targetNamespace="http://www.example.org"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- name="example">
-
- <wsdl:portType name="HelloWorld">
- </wsdl:portType>
-</wsdl:definitions>
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/ipo.xsd b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/ipo.xsd
deleted file mode 100644
index 241ec15d36..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/ipo.xsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/stockquote.wsdl b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/stockquote.wsdl
deleted file mode 100644
index 78e6bfe785..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/stockquote.wsdl
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<definitions name="StockQuote" targetNamespace="http://example.com/stockquote.wsdl"
- xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
- <schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="getLastTradePrice">
- <complexType>
- <sequence>
- <element name="tickerSymbol" type="string" />
- </sequence>
- </complexType>
- </element>
- <element name="getLastTradePriceResponse">
- <complexType>
- <sequence>
- <element name="price" type="float" />
- </sequence>
- </complexType>
- </element>
- </schema>
- </types>
-
- <message name="GetLastTradePriceInput">
- <part name="body" element="xsd1:getLastTradePrice" />
- </message>
-
- <message name="GetLastTradePriceOutput">
- <part name="body" element="xsd1:getLastTradePriceResponse" />
- </message>
-
- <portType name="StockQuotePortType">
- <operation name="getLastTradePrice">
- <input message="tns:GetLastTradePriceInput" />
- <output message="tns:GetLastTradePriceOutput" />
- </operation>
- </portType>
-
-</definitions>
diff --git a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/unwrapped-stockquote.wsdl b/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/unwrapped-stockquote.wsdl
deleted file mode 100644
index c74c0c9b64..0000000000
--- a/branches/sca-java-M2/sca/services/idl/wsdl/src/test/resources/org/apache/tuscany/idl/wsdl/unwrapped-stockquote.wsdl
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<definitions name="StockQuote" targetNamespace="http://example.com/stockquote.wsdl"
- xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
- <schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="getLastTradePrice">
- <complexType>
- <sequence>
- <element name="tickerSymbol" type="string" />
- </sequence>
- </complexType>
- </element>
- <element name="getLastTradePriceResponse">
- <complexType>
- <sequence>
- <element name="price" type="float" />
- </sequence>
- </complexType>
- </element>
- </schema>
- </types>
-
- <message name="GetLastTradePriceInput1">
- <part name="body" element="xsd1:getLastTradePrice" />
- </message>
-
- <message name="GetLastTradePriceOutput1">
- <part name="body" element="xsd1:getLastTradePriceResponse" />
- </message>
-
- <message name="GetLastTradePriceInput2">
- <part name="body" element="xsd1:getLastTradePrice" />
- <part name="other" type="xsd:string"/>
- </message>
-
- <message name="GetLastTradePriceOutput2">
- <part name="body" element="xsd1:getLastTradePriceResponse" />
- </message>
-
- <portType name="StockQuotePortType">
- <operation name="getLastTradePrice">
- <input message="tns:GetLastTradePriceInput1" />
- <output message="tns:GetLastTradePriceOutput1" />
- </operation>
- <operation name="getLastTradePrice1">
- <input message="tns:GetLastTradePriceInput1" />
- <output message="tns:GetLastTradePriceOutput1" />
- </operation>
- <operation name="getLastTradePrice2">
- <input message="tns:GetLastTradePriceInput2" />
- <output message="tns:GetLastTradePriceOutput2" />
- </operation>
- </portType>
-
-</definitions>
diff --git a/branches/sca-java-M2/sca/services/maven/LICENSE.txt b/branches/sca-java-M2/sca/services/maven/LICENSE.txt
deleted file mode 100644
index 75b52484ea..0000000000
--- a/branches/sca-java-M2/sca/services/maven/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/maven/NOTICE.txt b/branches/sca-java-M2/sca/services/maven/NOTICE.txt
deleted file mode 100644
index ecc68a9614..0000000000
--- a/branches/sca-java-M2/sca/services/maven/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/maven/pom.xml b/branches/sca-java-M2/sca/services/maven/pom.xml
deleted file mode 100644
index 685d1a0af0..0000000000
--- a/branches/sca-java-M2/sca/services/maven/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>maven</artifactId>
- <name>Apache Tuscany Maven Service</name>
- <description>Tuscany Maven Service</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-api</artifactId>
- <version>${pom.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-embedder</artifactId>
- <version>2.0.4</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- </dependencies>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenArtifactRepository.java b/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenArtifactRepository.java
deleted file mode 100644
index b2c608da63..0000000000
--- a/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenArtifactRepository.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.services.maven;
-
-import java.util.Collection;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.services.artifact.Artifact;
-import org.apache.tuscany.spi.services.artifact.ArtifactRepository;
-import org.apache.tuscany.host.RuntimeInfo;
-import org.osoa.sca.annotations.Destroy;
-import org.osoa.sca.annotations.Property;
-
-/**
- * Artifact repository used for resolving artifacts.
- *
- * This is used by the composite loader for resolving artifacts transitively. The repository uses the Maven API for resolving dependencies and hence
- * expects the artifacts to be stored in a structure similar to the Maven repository layout. The repository first looks within the deployed unit (WAR
- * for example), before resorting to a local and set of remote Maven repositories.
- *
- * @version $Rev$ $Date$
- */
-public class MavenArtifactRepository implements ArtifactRepository {
-
- /** Maven helper */
- private MavenHelper mavenHelper;
-
- /** WAR repository helper */
- private WarRepositoryHelper warRepositoryHelper;
-
- /**
- * Conctructs a new artifact repository.
- */
- public MavenArtifactRepository(@Property(name = "remoteRepoUrl")
- String remoteRepoUrl, @Autowire
- RuntimeInfo runtimeInfo) {
- mavenHelper = new MavenHelper(remoteRepoUrl, runtimeInfo.isOnline());
- warRepositoryHelper = new WarRepositoryHelper(runtimeInfo.getBaseURL());
- mavenHelper.start();
- }
-
- /**
- * Resolve an artifact. This ensures that the information associated with an artifact is fully populated; Specifically, after this operation the
- * URL should contain a location where the artifact can be obtained.
- *
- * @param artifact
- * the artifact to be resolved
- */
- public void resolve(Artifact rootArtifact) {
- if(warRepositoryHelper.resolveTransitively(rootArtifact)) {
- return;
- }
- if(mavenHelper.resolveTransitively(rootArtifact)) {
- return;
- }
- TuscanyDependencyException tde = new TuscanyDependencyException("Unable to resolve artifact: " + rootArtifact);
- tde.setIdentifier(rootArtifact.toString());
- throw tde;
- }
-
- /**
- * Resolve a collection of Artifacts.
- *
- * @param artifacts
- * a collection of artifacts to be resolved
- * @see #resolve(Artifact)
- */
- public void resolve(Collection<? extends Artifact> artifacts) {
- for (Artifact artifact : artifacts) {
- resolve(artifact);
- }
- }
-
- /**
- * Destroy method.
- *
- */
- @Destroy
- public void destroy() {
- mavenHelper.stop();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java b/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java
deleted file mode 100644
index f68ad562f7..0000000000
--- a/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/MavenHelper.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.services.maven;
-
-import java.io.File;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.metadata.ResolutionGroup;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.tuscany.spi.services.artifact.Artifact;
-import org.codehaus.classworlds.ClassWorld;
-import org.codehaus.classworlds.DefaultClassRealm;
-import org.codehaus.classworlds.DuplicateRealmException;
-import org.codehaus.plexus.PlexusContainerException;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.embed.Embedder;
-
-/**
- * Utility class for embedding Maven.
- *
- * @version $Rev$ $Date$
- */
-public class MavenHelper {
-
- /** Local repository */
- private static final File LOCAL_REPO = new File(System.getProperty("user.home") + File.separator + ".m2" + File.separator + "repository");
-
- /** Remote repository URLs */
- private final String[] remoteRepositoryUrls;
-
- /** Maven metadata source */
- private ArtifactMetadataSource metadataSource;
-
- /** Artifact factory */
- private ArtifactFactory artifactFactory;
-
- /** Local artifact repository */
- private ArtifactRepository localRepository;
-
- /** Remote artifact repositories */
- private List<ArtifactRepository> remoteRepositories = new LinkedList<ArtifactRepository>();
-
- /** Artifact resolver */
- private ArtifactResolver artifactResolver;
-
- /** Online */
- private boolean online;
-
- /**
- * Initialize the remote repository URLs.
- *
- * @param remoteRepositoryUrls
- * Remote repository URLS.
- * @param runtimeInfo
- * Runtime information.
- */
- public MavenHelper(String remoteRepositoryUrl, boolean online) {
- this.remoteRepositoryUrls = remoteRepositoryUrl.split(",");
- this.online = online;
- }
-
- /**
- * Starts the embedder.
- *
- * @throws TuscanyDependencyException
- * If unable to start the embedder.
- */
- public void start() throws TuscanyDependencyException {
-
- try {
-
- Embedder embedder = new Embedder();
- ClassWorld classWorld = new ClassWorld();
-
- classWorld.newRealm("plexus.core", getClass().getClassLoader());
-
- // Evil hack for Tomcat classloader issue - starts
- Field realmsField = ClassWorld.class.getDeclaredField("realms");
- realmsField.setAccessible(true);
- Map realms = (Map) realmsField.get(classWorld);
- DefaultClassRealm realm = (DefaultClassRealm) realms.get("plexus.core");
-
- Class clazz = Class.forName("org.codehaus.classworlds.RealmClassLoader");
- Constructor ctr = clazz.getDeclaredConstructor(new Class[] { DefaultClassRealm.class, ClassLoader.class });
- ctr.setAccessible(true);
- Object realmClassLoader = ctr.newInstance(realm, getClass().getClassLoader());
-
- Field realmClassLoaderField = DefaultClassRealm.class.getDeclaredField("classLoader");
- realmClassLoaderField.setAccessible(true);
- realmClassLoaderField.set(realm, realmClassLoader);
- // Evil hack for Tomcat classloader issue - ends
-
- embedder.start(classWorld);
-
- metadataSource = (ArtifactMetadataSource) embedder.lookup(ArtifactMetadataSource.ROLE);
- artifactFactory = (ArtifactFactory) embedder.lookup(ArtifactFactory.ROLE);
- artifactResolver = (ArtifactResolver) embedder.lookup(ArtifactResolver.ROLE);
-
- setUpRepositories(embedder);
-
- embedder.stop();
-
- } catch (DuplicateRealmException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (PlexusContainerException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (ComponentLookupException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (NoSuchFieldException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (IllegalAccessException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (ClassNotFoundException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (NoSuchMethodException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (InstantiationException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (InvocationTargetException ex) {
- throw new TuscanyDependencyException(ex);
- }
-
- }
-
- /**
- * Stops the embedder.
- *
- * @throws TuscanyDependencyException
- * If unable to stop the embedder.
- */
- public void stop() throws TuscanyDependencyException {
- }
-
- /**
- * Resolves the dependencies transitively.
- *
- * @param artifact
- * Artifact whose dependencies need to be resolved.
- * @throws TuscanyDependencyException
- * If unable to resolve the dependencies.
- */
- public boolean resolveTransitively(Artifact rootArtifact) throws TuscanyDependencyException {
-
- org.apache.maven.artifact.Artifact mavenRootArtifact = artifactFactory.createArtifact(rootArtifact.getGroup(), rootArtifact.getName(),
- rootArtifact.getVersion(), org.apache.maven.artifact.Artifact.SCOPE_RUNTIME, rootArtifact.getType());
-
- try {
-
- if (resolve(mavenRootArtifact)) {
- rootArtifact.setUrl(mavenRootArtifact.getFile().toURL());
- if (resolveDependencies(rootArtifact, mavenRootArtifact)) {
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- } catch (MalformedURLException ex) {
- throw new TuscanyDependencyException(ex);
- }
-
- }
-
- /*
- * Resolves the artifact.
- */
- private boolean resolve(org.apache.maven.artifact.Artifact mavenRootArtifact) {
-
- try {
- artifactResolver.resolve(mavenRootArtifact, remoteRepositories, localRepository);
- return true;
- } catch (ArtifactResolutionException ex) {
- return false;
- } catch (ArtifactNotFoundException ex) {
- return false;
- }
-
- }
-
- /*
- * Sets up local and remote repositories.
- */
- private void setUpRepositories(Embedder embedder) {
-
- try {
-
- ArtifactRepositoryFactory artifactRepositoryFactory = (ArtifactRepositoryFactory) embedder.lookup(ArtifactRepositoryFactory.ROLE);
-
- ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) embedder.lookup(ArtifactRepositoryLayout.ROLE, "default");
-
- String updatePolicy = online ? ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS : ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER;
- ArtifactRepositoryPolicy snapshotsPolicy = new ArtifactRepositoryPolicy(true, updatePolicy, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
- ArtifactRepositoryPolicy releasesPolicy = new ArtifactRepositoryPolicy(true, updatePolicy, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
-
- localRepository = artifactRepositoryFactory.createArtifactRepository("local", LOCAL_REPO.toURL().toExternalForm(), layout,
- snapshotsPolicy, releasesPolicy);
-
- if (!online) {
- return;
- }
-
- for (String remoteRepositoryUrl : remoteRepositoryUrls) {
- String repoid = remoteRepositoryUrl.replace(':', '_');
- repoid = repoid.replace('/', '_');
- repoid = repoid.replace('\\', '_');
- remoteRepositories.add(artifactRepositoryFactory.createArtifactRepository(repoid, remoteRepositoryUrl, layout, snapshotsPolicy,
- releasesPolicy));
- }
-
- } catch (MalformedURLException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (ComponentLookupException ex) {
- throw new TuscanyDependencyException(ex);
- }
-
- }
-
- /*
- * Resolves transitive dependencies.
- */
- private boolean resolveDependencies(Artifact rootArtifact, org.apache.maven.artifact.Artifact mavenRootArtifact) {
-
- try {
-
- ResolutionGroup resolutionGroup = null;
- ArtifactResolutionResult result = null;
-
- resolutionGroup = metadataSource.retrieve(mavenRootArtifact, localRepository, remoteRepositories);
- result = artifactResolver.resolveTransitively(resolutionGroup.getArtifacts(), mavenRootArtifact, remoteRepositories, localRepository,
- metadataSource);
-
- // Add the artifacts to the deployment unit
- for (Object obj : result.getArtifacts()) {
- org.apache.maven.artifact.Artifact depArtifact = (org.apache.maven.artifact.Artifact) obj;
- Artifact artifact = new Artifact();
- artifact.setName(mavenRootArtifact.getArtifactId());
- artifact.setGroup(mavenRootArtifact.getGroupId());
- artifact.setType(mavenRootArtifact.getType());
- artifact.setClassifier(mavenRootArtifact.getClassifier());
- artifact.setUrl(depArtifact.getFile().toURL());
- rootArtifact.addDependency(artifact);
- }
-
- } catch (ArtifactMetadataRetrievalException ex) {
- return false;
- } catch (MalformedURLException ex) {
- throw new TuscanyDependencyException(ex);
- } catch (ArtifactResolutionException ex) {
- return false;
- } catch (ArtifactNotFoundException ex) {
- return false;
- }
-
- return true;
-
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/TuscanyDependencyException.java b/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/TuscanyDependencyException.java
deleted file mode 100644
index 6e89443711..0000000000
--- a/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/TuscanyDependencyException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.services.maven;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * Exception thrown in case of an artifact error.
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyDependencyException extends TuscanyRuntimeException {
-
- /**
- * Initializes the cause.
- * @param cause Cause of the exception.
- */
- public TuscanyDependencyException(Throwable cause) {
- super(cause);
- }
-
- /**
- * Initializes the message.
- * @param message Message of the exception.
- */
- public TuscanyDependencyException(String message) {
- super(message);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/WarRepositoryHelper.java b/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/WarRepositoryHelper.java
deleted file mode 100644
index be4ee68bfa..0000000000
--- a/branches/sca-java-M2/sca/services/maven/src/main/java/org/apache/tuscany/services/maven/WarRepositoryHelper.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.services.maven;
-
-import java.beans.XMLDecoder;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.tuscany.spi.services.artifact.Artifact;
-import org.codehaus.plexus.util.IOUtil;
-
-/**
- * Helper class for resolving dependencies from WAR files.
- *
- * @author Administrator
- *
- */
-public class WarRepositoryHelper {
-
- /** WAR Repository URL */
- private URL reporsitoryUrl;
-
- /** Dependency metadata */
- private Map<String, Set<String>> transDependencyMap = new HashMap<String, Set<String>>();
-
- /**
- * Initializes the repository URL.
- * @param baseUrl Base URL.
- */
- @SuppressWarnings("unchecked")
- public WarRepositoryHelper(URL baseUrl) {
-
-
- InputStream transDepMapInputStream = null;
- try {
-
- reporsitoryUrl = new URL(baseUrl, "repository/");
- URL transDependencyMapUrl = new URL(baseUrl, "repository/dependency.metadata");
- transDepMapInputStream = transDependencyMapUrl.openStream();
-
- XMLDecoder decoder = new XMLDecoder(transDepMapInputStream);
- transDependencyMap = (Map<String, Set<String>>)decoder.readObject();
- decoder.close();
-
- } catch (MalformedURLException ex) {
- // throw new TuscanyDependencyException(ex);
- } catch (IOException ex) {
- // throw new TuscanyDependencyException(ex);
- } finally {
- IOUtil.close(transDepMapInputStream);
- }
-
- }
-
- /**
- * Resolves the dependencies transitively.
- *
- * @param artifact
- * Artifact whose dependencies need to be resolved.
- * @throws TuscanyDependencyException
- * If unable to resolve the dependencies.
- */
- public boolean resolveTransitively(Artifact rootArtifact) throws TuscanyDependencyException {
-
- String artKey = rootArtifact.getGroup() + "/" + rootArtifact.getName() + "/" + rootArtifact.getVersion() + "/";
- if(!transDependencyMap.containsKey(artKey)) {
- return false;
- }
-
-
- for(String dep : transDependencyMap.get(artKey)) {
-
- String[] tokens = dep.split("/");
- String artName = tokens[1];
-
- try {
- if(artName.equals(rootArtifact.getName())) {
- rootArtifact.setUrl(new URL(reporsitoryUrl, dep));
- } else {
- Artifact depArtifact = new Artifact();
- depArtifact.setGroup(tokens[0]);
- depArtifact.setName(tokens[1]);
- depArtifact.setVersion(tokens[2]);
- depArtifact.setUrl(new URL(reporsitoryUrl, dep));
- rootArtifact.addDependency(depArtifact);
-
- }
- } catch (MalformedURLException ex) {
- throw new TuscanyDependencyException(ex);
- }
- }
- return true;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java b/branches/sca-java-M2/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java
deleted file mode 100644
index 2eeb4e2e66..0000000000
--- a/branches/sca-java-M2/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/MavenArtifactRepositoryTestCase.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.services.maven;
-
-import java.io.File;
-import java.net.URL;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.host.RuntimeInfo;
-import org.apache.tuscany.spi.services.artifact.Artifact;
-
-/**
- * @version $Rev$ $Date$
- */
-public class MavenArtifactRepositoryTestCase extends TestCase {
-
- public MavenArtifactRepositoryTestCase(String arg0) {
- super(arg0);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- /*
- * Test method for 'org.apache.tuscany.services.maven.MavenArtifactRepository.resolve(Artifact)'
- */
- public void testResolveArtifact() throws Exception {
-
- final URL BASE_URL = new File(System.getProperty("user.home") + File.separator + ".m2").toURL();
- String remoteRepoUrl = "http://repo1.maven.org/maven2/";
- MavenArtifactRepository repository = new MavenArtifactRepository(remoteRepoUrl, new RuntimeInfo() {
- public File getApplicationRootDirectory() {
- return null;
- }
-
- public URL getBaseURL() {
- return BASE_URL;
- }
-
- public File getInstallDirectory() {
- return null;
- }
-
- public boolean isOnline() {
- return false;
- }
- });
- Artifact artifact = new Artifact();
- artifact.setGroup("junit");
- artifact.setName("junit");
- artifact.setVersion("3.8.1");
- artifact.setType("jar");
-
- repository.resolve(artifact);
-
- Set<URL> urls = artifact.getUrls();
-
- System.err.println(urls);
-
- assertEquals(1, urls.size());
-
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/WarRepositoryHelperTestCase.java b/branches/sca-java-M2/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/WarRepositoryHelperTestCase.java
deleted file mode 100644
index 3a79599fa7..0000000000
--- a/branches/sca-java-M2/sca/services/maven/src/test/java/org/apache/tuscany/services/maven/WarRepositoryHelperTestCase.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.services.maven;
-
-import java.net.URL;
-import java.net.URLClassLoader;
-
-import org.apache.tuscany.spi.services.artifact.Artifact;
-
-import junit.framework.TestCase;
-
-/**
- * @author Administrator
- *
- */
-public class WarRepositoryHelperTestCase extends TestCase {
-
- /**
- * @param arg0
- */
- public WarRepositoryHelperTestCase(String arg0) {
- super(arg0);
- }
-
- /**
- * Test method for {@link org.apache.tuscany.services.maven.WarRepositoryHelper#WarRepositoryHelper(java.net.URL)}.
- */
- public void testWarRepositoryHelper() {
-
- URL warUrl = getClass().getClassLoader().getResource("webapp.war");
- URLClassLoader urlc = new URLClassLoader(new URL[] {warUrl});
-
- URL repoUrl = urlc.getResource("WEB-INF/tuscany/");
- System.err.println(repoUrl);
-
- WarRepositoryHelper warRepositoryHelper = new WarRepositoryHelper(repoUrl);
- assertNotNull(warRepositoryHelper);
-
- }
-
- /**
- * Test method for {@link org.apache.tuscany.services.maven.WarRepositoryHelper#WarRepositoryHelper(java.net.URL)}.
- */
- public void testResolveTransitively() {
-
- URL warUrl = getClass().getClassLoader().getResource("webapp.war");
- URLClassLoader urlc = new URLClassLoader(new URL[] {warUrl});
-
- URL repoUrl = urlc.getResource("WEB-INF/tuscany/");
- WarRepositoryHelper warRepositoryHelper = new WarRepositoryHelper(repoUrl);
-
- Artifact artifact = new Artifact();
- artifact.setGroup("commons-httpclient");
- artifact.setName("commons-httpclient");
- artifact.setVersion("3.0");
-
- warRepositoryHelper.resolveTransitively(artifact);
- assertEquals(4, artifact.getUrls().size());
-
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/maven/src/test/resources/webapp.war b/branches/sca-java-M2/sca/services/maven/src/test/resources/webapp.war
deleted file mode 100644
index 4448aca8ff..0000000000
--- a/branches/sca-java-M2/sca/services/maven/src/test/resources/webapp.war
+++ /dev/null
Binary files differ
diff --git a/branches/sca-java-M2/sca/services/persistence/common/LICENSE.txt b/branches/sca-java-M2/sca/services/persistence/common/LICENSE.txt
deleted file mode 100644
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/common/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/persistence/common/NOTICE.txt b/branches/sca-java-M2/sca/services/persistence/common/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/common/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/persistence/common/pom.xml b/branches/sca-java-M2/sca/services/persistence/common/pom.xml
deleted file mode 100644
index df90006ade..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/common/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <parent>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>persistence-common</artifactId>
- <packaging>jar</packaging>
- <name>Apache Tuscany JPA</name>
- <description>Tuscany JPA Integration.</description>
-
-
- <repositories>
- <repository>
- <id>java.net</id>
- <url>https://maven-repository.dev.java.net/nonav/repository</url>
- <layout>legacy</layout>
- </repository>
- </repositories>
-
-
- <dependencies>
- <dependency>
- <groupId>javax.persistence</groupId>
- <artifactId>persistence-api</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-api</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/services/persistence/common/src/main/java/org/apache/tuscany/service/persistence/common/PersistenceUnitProcessor.java b/branches/sca-java-M2/sca/services/persistence/common/src/main/java/org/apache/tuscany/service/persistence/common/PersistenceUnitProcessor.java
deleted file mode 100644
index 77ac0ef018..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/common/src/main/java/org/apache/tuscany/service/persistence/common/PersistenceUnitProcessor.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.persistence.common;
-
-import javax.persistence.PersistenceUnit;
-
-import org.apache.tuscany.spi.ObjectCreationException;
-import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.implementation.java.AbstractPropertyProcessor;
-import org.apache.tuscany.spi.implementation.java.ImplementationProcessorService;
-import org.apache.tuscany.spi.implementation.java.JavaMappedProperty;
-
-/**
- * Annotation processor for injecting <code>PersistenceUnit</code>
- * annotations on properties.
- *
- */
-public class PersistenceUnitProcessor extends AbstractPropertyProcessor<PersistenceUnit> {
-
- /**
- * Injects the implementation processor service.
- * @param service Implementation processor service.
- */
- public PersistenceUnitProcessor(@Autowire ImplementationProcessorService service) {
- super(PersistenceUnit.class, service);
- }
-
- /**
- * Defaults to the field name.
- */
- @Override
- protected String getName(PersistenceUnit persistenceUnit) {
- return null;
- }
-
- /**
- * Initializes the property.
- */
- @SuppressWarnings("unchecked")
- protected <EntityManagerFactory> void initProperty(JavaMappedProperty<EntityManagerFactory> property,
- PersistenceUnit annotation,
- CompositeComponent parent,
- DeploymentContext context) {
- String unitName = annotation.unitName();
- final EntityManagerFactory emf = (EntityManagerFactory)parent.getSystemChild(unitName);
- if(emf == null) {
- // TODO Create an EMF, also clarify from jmarino what the second argument is.
- parent.registerJavaObject(unitName, null, emf);
- }
- property.setDefaultValueFactory(new ObjectFactory<EntityManagerFactory>() {
- public EntityManagerFactory getInstance() throws ObjectCreationException {
- return emf;
- }
- });
-
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/.ruleset b/branches/sca-java-M2/sca/services/persistence/openjpa/.ruleset
deleted file mode 100644
index 3886f07f2d..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/LICENSE.txt b/branches/sca-java-M2/sca/services/persistence/openjpa/LICENSE.txt
deleted file mode 100644
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/NOTICE.txt b/branches/sca-java-M2/sca/services/persistence/openjpa/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/pom.xml b/branches/sca-java-M2/sca/services/persistence/openjpa/pom.xml
deleted file mode 100644
index 38aaecdd5a..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>openjpa</artifactId>
- <packaging>jar</packaging>
- <name>Apache Tuscany OpenJPA</name>
- <description>TuscanyOpenJPA Integration.</description>
-
-
- <repositories>
- <repository>
- <id>apache-snapshots</id>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- </repository>
- </repositories>
-
-
- <dependencies>
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-persistence-jdbc</artifactId>
- <version>0.9.0-incubating-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/Constants.java b/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/Constants.java
deleted file mode 100644
index 820f57bcad..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/Constants.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.openjpa;
-
-/**
- * Constants used by the JPA extension
- *
- * @version $Rev$ $Date$
- */
-public final class Constants {
-
- public static final String PERSISTENCE_UNIT = "persistenceUnit";
- public static final String CONFIG_PROPERTIES = "configProperties";
-
- private Constants() {
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerFactoryImplementation.java b/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerFactoryImplementation.java
deleted file mode 100644
index d818f145bd..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerFactoryImplementation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.openjpa;
-
-import org.apache.tuscany.spi.model.AtomicImplementation;
-import org.apache.tuscany.spi.model.ComponentType;
-
-/**
- * Represents the implementation type of a system service that manages JPA
- * <code>EntityManagerFactoryImplementation</code> implementations
- *
- * @version $Rev$ $Date$
- */
-public class EntityManagerFactoryImplementation extends AtomicImplementation<ComponentType> {
-
- public EntityManagerFactoryImplementation() {
- }
-
- public EntityManagerFactoryImplementation(ComponentType componentType) {
- super(componentType);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerObjectFactory.java b/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerObjectFactory.java
deleted file mode 100644
index 45d4e1a077..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerObjectFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.openjpa;
-
-import java.util.Map;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-
-import org.apache.tuscany.spi.ObjectCreationException;
-import org.apache.tuscany.spi.ObjectFactory;
-
-/**
- * Creates a JPA <code>EntityManager</code> to be injected on a component implementation instance.
- *
- * @version $Rev$ $Date$
- */
-public class EntityManagerObjectFactory implements ObjectFactory<EntityManager> {
-
- private EntityManagerFactory emf;
- private Map props;
-
- public EntityManagerObjectFactory(EntityManagerFactory emf) {
- this.emf = emf;
- }
-
- public EntityManagerObjectFactory(EntityManagerFactory emf, Map props) {
- this.emf = emf;
- this.props = props;
- }
-
- public EntityManager getInstance() throws ObjectCreationException {
- if (props == null) {
- return emf.createEntityManager();
- } else {
- return emf.createEntityManager(props);
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerProcessor.java b/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerProcessor.java
deleted file mode 100644
index 9574f60b8c..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/EntityManagerProcessor.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.openjpa;
-
-import java.lang.reflect.Member;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceContext;
-
-import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.implementation.java.AbstractPropertyProcessor;
-import org.apache.tuscany.spi.implementation.java.ImplementationProcessorService;
-import org.apache.tuscany.spi.implementation.java.JavaMappedProperty;
-import org.apache.tuscany.spi.implementation.java.ProcessingException;
-
-
-/**
- * Evaluates constructors, methods, and fields annotated with {@link PersistenceContext }, creating a mapped property
- * that will inject an {@link EntityManager} on an implementation instance.
- *
- * @version $Rev$ $Date$
- */
-public class EntityManagerProcessor extends AbstractPropertyProcessor<PersistenceContext> {
-
- public EntityManagerProcessor(@Autowire ImplementationProcessorService service) {
- super(PersistenceContext.class, service);
- }
-
- protected String getName(PersistenceContext annotation) {
- String name = annotation.unitName();
- if (name == null) {
- return "_defaultJPAPersistenceUnit";
- }
- return name;
- }
-
- protected <T>JavaMappedProperty<T> createProperty(String name,
- Class<T> javaType,
- Member member) throws ProcessingException {
- if (!EntityManager.class.equals(javaType)) {
- InvalidInjectionSite e =
- new InvalidInjectionSite("Injection site must by of type " + EntityManager.class.getName());
- e.setIdentifier(name);
- throw e;
- }
- return super.createProperty(name, javaType, member);
- }
-
- @SuppressWarnings("unchecked")
- protected <T> void initProperty(JavaMappedProperty<T> property,
- PersistenceContext annotation,
- CompositeComponent parent,
- DeploymentContext context) {
- EntityManagerFactory emf = parent.resolveSystemInstance(EntityManagerFactory.class);
- ObjectFactory factory = new EntityManagerObjectFactory(emf);
- property.setDefaultValueFactory(factory);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/InvalidInjectionSite.java b/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/InvalidInjectionSite.java
deleted file mode 100644
index 11c5e9dfc7..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/InvalidInjectionSite.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.openjpa;
-
-import org.apache.tuscany.spi.implementation.java.ProcessingException;
-
-/**
- * @version $Rev$ $Date$
- */
-public class InvalidInjectionSite extends ProcessingException {
- public InvalidInjectionSite() {
- }
-
- public InvalidInjectionSite(String message) {
- super(message);
- }
-
- public InvalidInjectionSite(String message, Throwable cause) {
- super(message, cause);
- }
-
- public InvalidInjectionSite(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAAtomicComponent.java b/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAAtomicComponent.java
deleted file mode 100644
index 1e440bf0d3..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAAtomicComponent.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.openjpa;
-
-import java.util.ArrayList;
-import java.util.Map;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
-
-import org.apache.tuscany.spi.ObjectCreationException;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.extension.SystemAtomicComponentExtension;
-
-/**
- * A system service that manages a JPA <code>EntityManagerFactory</code>. This service is used by {@link
- * EntityManagerProcessor} to inject an <code>EntityManager<code> on a constructor parameter, field, or method of an
- * implementation instance. Since a JPA persistence context is specific to an application, this system service is scoped
- * to the application composite. That is, it is contained as a system child of the application composite.
- *
- * @version $Rev$ $Date$
- */
-public class JPAAtomicComponent extends SystemAtomicComponentExtension {
- private EntityManagerFactory factory;
- private String persistenceUnit;
- private Map<Object, Object> configProps;
-
- public JPAAtomicComponent(String name,
- CompositeComponent parent,
- ScopeContainer scopeContainer,
- String persistenceUnit,
- Map<Object, Object> configProps,
- int initLevel) {
- super(name, null, parent, scopeContainer, initLevel);
- assert persistenceUnit != null;
- this.persistenceUnit = persistenceUnit;
- this.configProps = configProps;
- interfazes = new ArrayList<Class<?>>();
- interfazes.add(EntityManagerFactory.class);
- }
-
- public Object createInstance() throws ObjectCreationException {
- if (configProps != null) {
- factory = Persistence.createEntityManagerFactory(persistenceUnit, configProps);
- } else {
- factory = Persistence.createEntityManagerFactory(persistenceUnit);
- }
- return factory;
- }
-
- public Object getTargetInstance() throws TargetException {
- return factory;
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAComponentBuilder.java b/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAComponentBuilder.java
deleted file mode 100644
index 65b3313515..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAComponentBuilder.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.openjpa;
-
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.Property;
-
-import static org.apache.tuscany.service.openjpa.Constants.PERSISTENCE_UNIT;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JPAComponentBuilder extends ComponentBuilderExtension {
- protected Class getImplementationType() {
- return null;
- }
-
- public Component build(CompositeComponent parent, ComponentDefinition definition, DeploymentContext ctx)
- throws BuilderConfigException {
-// String name = definition.getName();
-// ScopeContainer moduleScope = ctx.getModuleScope();
-// Integer initLevel = definition.getInitLevel();
- ComponentType<?, ?, ?> type = definition.getImplementation().getComponentType();
- Property<?> persistenceUnit = type.getProperties().get(PERSISTENCE_UNIT);
- if (persistenceUnit == null) {
- BuilderConfigException e =
- new BuilderConfigException("Persistence Unit not specified in JPA import in composite");
- e.setIdentifier(parent.getName());
- throw e;
- }
-// Property<?> configProps = type.getProperties().get(PERSISTENCE_UNIT);
- return null;
-// return new JPAAtomicComponent(name, parent, moduleScope, initLevel);
- }
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAImportLoader.java b/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAImportLoader.java
deleted file mode 100644
index 07969d095c..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/src/main/java/org/apache/tuscany/service/openjpa/JPAImportLoader.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.openjpa;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.model.ModelObject;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JPAImportLoader extends LoaderExtension {
- private static final QName IMPORT = new QName(XML_NAMESPACE_1_0, "import.jpa");
-
- public JPAImportLoader(@Autowire LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return IMPORT;
- }
-
- public ModelObject load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
- //ComponentDefinition definition = new ComponentDefinition()
- // TODO read in persisitence unit setting and properties, and set them as properties on the component
- return null;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/openjpa/src/test/java/org/apache/tuscany/service/openjpa/EntityManagerProcessorTestCase.java b/branches/sca-java-M2/sca/services/persistence/openjpa/src/test/java/org/apache/tuscany/service/openjpa/EntityManagerProcessorTestCase.java
deleted file mode 100644
index ec33c81d1e..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/openjpa/src/test/java/org/apache/tuscany/service/openjpa/EntityManagerProcessorTestCase.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.openjpa;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.List;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceContext;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.implementation.java.ImplementationProcessor;
-import org.apache.tuscany.spi.implementation.java.ImplementationProcessorService;
-import org.apache.tuscany.spi.implementation.java.JavaMappedProperty;
-import org.apache.tuscany.spi.implementation.java.JavaMappedReference;
-import org.apache.tuscany.spi.implementation.java.JavaMappedService;
-import org.apache.tuscany.spi.implementation.java.PojoComponentType;
-
-import junit.framework.TestCase;
-import org.easymock.EasyMock;
-import org.easymock.IAnswer;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EntityManagerProcessorTestCase extends TestCase {
-
- private ImplementationProcessor processor;
- private CompositeComponent parent;
-
- public void testVisitMethod() throws Exception {
- Method method = Foo.class.getMethod("setBar", EntityManager.class);
- PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type =
- new PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>>();
- processor.visitMethod(parent, method, type, null);
- JavaMappedProperty<?> prop = type.getProperties().get("bar");
- assertEquals(EntityManagerObjectFactory.class, prop.getDefaultValueFactory().getClass());
- }
-
- public void testVisitBadMethod() throws Exception {
- Method method = Foo.class.getMethod("setBadBar", String.class);
- PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type =
- new PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>>();
- try {
- processor.visitMethod(parent, method, type, null);
- fail();
- } catch (InvalidInjectionSite e) {
- // expected
- }
- }
-
- public void testVisitField() throws Exception {
- Field field = Foo.class.getDeclaredField("bar");
- PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type =
- new PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>>();
- processor.visitField(parent, field, type, null);
- JavaMappedProperty<?> prop = type.getProperties().get("bar");
- assertEquals(EntityManagerObjectFactory.class, prop.getDefaultValueFactory().getClass());
- }
-
- public void testBadVisitField() throws Exception {
- Field field = Foo.class.getDeclaredField("badField");
- PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type =
- new PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>>();
- try {
- processor.visitField(null, field, type, null);
- fail();
- } catch (InvalidInjectionSite e) {
- // expected
- }
- }
-
- @SuppressWarnings("unchecked")
- protected void setUp() throws Exception {
- super.setUp();
- EntityManagerFactory emf = EasyMock.createMock(EntityManagerFactory.class);
- EasyMock.replay(emf);
- parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.resolveSystemInstance(EntityManagerFactory.class)).andReturn(emf).atLeastOnce();
- EasyMock.replay(parent);
- ImplementationProcessorService service = EasyMock.createMock(ImplementationProcessorService.class);
- service.addName(EasyMock.isA(List.class), EasyMock.eq(0), EasyMock.isA(String.class));
- EasyMock.expectLastCall().andStubAnswer(new IAnswer() {
- public Object answer() throws Throwable {
- ((List<Object>) EasyMock.getCurrentArguments()[0]).add(EasyMock.getCurrentArguments()[2]);
- return null;
- }
- });
- EasyMock.replay(service);
- processor = new EntityManagerProcessor(service);
- }
-
- private static class Foo {
-
-
- @PersistenceContext
- protected EntityManager bar;
-
- @PersistenceContext
- protected String badField;
-
- @PersistenceContext
- public void setBar(EntityManager d) {
- }
-
- @PersistenceContext
- public void setBadBar(String d) {
- }
-
- }
-}
diff --git a/branches/sca-java-M2/sca/services/persistence/pom.xml b/branches/sca-java-M2/sca/services/persistence/pom.xml
deleted file mode 100644
index 6b3a7ed9d1..0000000000
--- a/branches/sca-java-M2/sca/services/persistence/pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.services</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.tuscany.sca.services.persistence</groupId>
- <artifactId>parent</artifactId>
- <packaging>pom</packaging>
- <name>Tuscany SCA Persistence Services</name>
-
- <!-- definition of repositories where the parent pom can be found -->
- <repositories>
- <repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>apache.incubator</id>
- <name>Apache Incubator Repository</name>
- <url>http://people.apache.org/repo/m2-incubating-repository/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <modules>
- <module>openjpa</module>
- </modules>
-</project>
diff --git a/branches/sca-java-M2/sca/services/pom.xml b/branches/sca-java-M2/sca/services/pom.xml
deleted file mode 100644
index 81ccaf16fd..0000000000
--- a/branches/sca-java-M2/sca/services/pom.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.tuscany.sca.services</groupId>
- <artifactId>parent</artifactId>
- <packaging>pom</packaging>
- <name>Tuscany SCA Services</name>
-
- <!-- definition of repositories where the parent pom can be found -->
- <repositories>
- <repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>apache.incubator</id>
- <name>Apache Incubator Repository</name>
- <url>http://people.apache.org/repo/m2-incubating-repository/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <modules>
- <module>idl</module>
- <module>containers</module>
- <module>databinding</module>
- <module>bindings</module>
- <module>maven</module>
-<!--
- <module>transports/http.jetty</module>
--->
- </modules>
-</project>
diff --git a/branches/sca-java-M2/sca/services/transports/http.jetty/.ruleset b/branches/sca-java-M2/sca/services/transports/http.jetty/.ruleset
deleted file mode 100644
index 3886f07f2d..0000000000
--- a/branches/sca-java-M2/sca/services/transports/http.jetty/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/services/transports/http.jetty/LICENSE.txt b/branches/sca-java-M2/sca/services/transports/http.jetty/LICENSE.txt
deleted file mode 100644
index d645695673..0000000000
--- a/branches/sca-java-M2/sca/services/transports/http.jetty/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/services/transports/http.jetty/NOTICE.txt b/branches/sca-java-M2/sca/services/transports/http.jetty/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/services/transports/http.jetty/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/services/transports/http.jetty/pom.xml b/branches/sca-java-M2/sca/services/transports/http.jetty/pom.xml
deleted file mode 100644
index 3fd0189fba..0000000000
--- a/branches/sca-java-M2/sca/services/transports/http.jetty/pom.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.services</groupId>
- <artifactId>services</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>http-jetty</artifactId>
- <name>Apache Tuscany Jetty HTTP Service</name>
- <description>Tuscany Jetty HTTP Service</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>jetty</groupId>
- <artifactId>jetty</artifactId>
- <version>6.0.0beta17</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>jetty</groupId>
- <artifactId>jetty-util</artifactId>
- <version>6.0.0beta16</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- </dependencies>
-
-</project>
diff --git a/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyLogger.java b/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyLogger.java
deleted file mode 100644
index d42b301fbb..0000000000
--- a/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyLogger.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.jetty;
-
-import org.mortbay.log.Logger;
-
-/**
- * Serves as a wrapper for a {@link TransportMonitor} to replace Jetty's logging mechanism
- *
- * @version $Rev$ $Date$
- */
-public class JettyLogger implements Logger {
-
- private TransportMonitor monitor;
- private boolean debugEnabled;
-
- public void setMonitor(TransportMonitor monitor) {
- this.monitor = monitor;
- }
-
- public boolean isDebugEnabled() {
- return debugEnabled;
- }
-
- public void setDebugEnabled(boolean debugEnabled) {
- this.debugEnabled = debugEnabled;
- }
-
- public void info(String msg, Object arg0, Object arg1) {
- if (monitor != null) {
- monitor.debug(msg, arg0, arg1);
- } else if (debugEnabled) {
- System.err.println(":INFO: " + format(msg, arg0, arg1));
- }
- }
-
- public void debug(String msg, Throwable th) {
- if (debugEnabled) {
- if (monitor != null) {
- monitor.debug(msg, th);
- } else {
- System.err.println(":DEBUG: " + msg);
- th.printStackTrace();
- }
- }
- }
-
- public void debug(String msg, Object arg0, Object arg1) {
- if (debugEnabled) {
- if (monitor != null) {
- monitor.debug(msg, arg0, arg1);
- } else {
- System.err.println(":DEBUG: " + format(msg, arg0, arg1));
- }
- }
- }
-
- public void warn(String msg, Object arg0, Object arg1) {
- if (monitor != null) {
- monitor.warn(msg, arg0, arg1);
- } else if (debugEnabled) {
- System.err.println(":WARN: " + format(msg, arg0, arg1));
- }
- }
-
- public void warn(String msg, Throwable th) {
- if (monitor != null) {
- monitor.warn(msg, th);
- } else if (debugEnabled) {
- System.err.println(":WARN: " + msg);
- th.printStackTrace();
- }
- }
-
- public Logger getLogger(String name) {
- return this;
- }
-
- private String format(String msg, Object arg0, Object arg1) {
- int i0 = msg.indexOf("{}");
- int i1 = i0 < 0 ? -1 : msg.indexOf("{}", i0 + 2);
- if (arg1 != null && i1 >= 0) {
- msg = msg.substring(0, i1) + arg1 + msg.substring(i1 + 2);
- }
- if (arg0 != null && i0 >= 0) {
- msg = msg.substring(0, i0) + arg0 + msg.substring(i0 + 2);
- }
- return msg;
- }
-}
diff --git a/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyService.java b/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyService.java
deleted file mode 100644
index 6fd68813df..0000000000
--- a/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyService.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.jetty;
-
-import org.apache.tuscany.spi.host.ServletHost;
-
-import org.mortbay.jetty.Server;
-
-/**
- * Implementations provide a Jetty transport service to the runtime
- *
- * @version $$Rev$$ $$Date$$
- */
-public interface JettyService extends ServletHost {
-
- /**
- * Returns the active Jetty server
- */
- Server getServer();
-
-
-}
diff --git a/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyServiceImpl.java b/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyServiceImpl.java
deleted file mode 100644
index 01ad06fbe9..0000000000
--- a/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/JettyServiceImpl.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.jetty;
-
-import java.io.File;
-import java.io.IOException;
-import javax.resource.spi.work.Work;
-import javax.servlet.Servlet;
-
-import org.osoa.sca.annotations.Destroy;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Service;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.api.annotation.Monitor;
-import org.apache.tuscany.spi.host.ServletHost;
-import org.apache.tuscany.spi.services.work.WorkScheduler;
-
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.ContextHandler;
-import org.mortbay.jetty.nio.SelectChannelConnector;
-import org.mortbay.jetty.security.SslSocketConnector;
-import org.mortbay.jetty.servlet.ServletHandler;
-import org.mortbay.jetty.servlet.ServletHolder;
-import org.mortbay.jetty.servlet.ServletMapping;
-import org.mortbay.log.Log;
-import org.mortbay.log.Logger;
-import org.mortbay.thread.BoundedThreadPool;
-import org.mortbay.thread.ThreadPool;
-
-/**
- * Implements an HTTP transport service using Jetty.
- *
- * @version $$Rev$$ $$Date$$
- */
-@Scope("MODULE")
-@Service(ServletHost.class)
-public class JettyServiceImpl implements JettyService {
-
- private static final String ROOT = "/";
- private static final int ERROR = 0;
- private static final int UNINITIALIZED = 0;
- private static final int STARTING = 1;
- private static final int STARTED = 2;
- private static final int STOPPING = 3;
- private static final int STOPPED = 4;
-
- private final Object joinLock = new Object();
- private int state = UNINITIALIZED;
- private int httpPort = 8080;
- private int httpsPort = 8484;
- private String keystore;
- private String certPassword;
- private String keyPassword;
- private boolean sendServerVersion;
- private boolean https;
- private TransportMonitor monitor;
- private WorkScheduler scheduler;
- private boolean debug;
- private Server server;
- private Connector connector;
- private ServletHandler servletHandler;
-
- static {
- // hack to replace the static Jetty logger
- System.setProperty("org.mortbay.log.class", JettyLogger.class.getName());
- }
-
- public JettyServiceImpl(@Monitor TransportMonitor monitor,
- @Autowire WorkScheduler scheduler) {
- this.monitor = monitor;
- this.scheduler = scheduler;
- // Jetty uses a static logger, so jam in the monitor into a static reference
- Logger logger = Log.getLogger(null);
- if (logger instanceof JettyLogger) {
- JettyLogger jettyLogger = (JettyLogger) logger;
- jettyLogger.setMonitor(monitor);
- if (debug) {
- jettyLogger.setDebugEnabled(true);
- }
- }
- }
-
- public JettyServiceImpl(TransportMonitor monitor) {
- this.monitor = monitor;
- }
-
- public JettyServiceImpl(TransportMonitor monitor,
- WorkScheduler scheduler,
- Connector connector) {
- this(monitor, scheduler);
- this.connector = connector;
- }
-
- @Property
- public void setHttpPort(int httpPort) {
- this.httpPort = httpPort;
- }
-
- @Property
- public void setHttpsPort(int httpsPort) {
- this.httpsPort = httpsPort;
- }
-
- @Property
- public void setSendServerVersion(boolean sendServerVersion) {
- this.sendServerVersion = sendServerVersion;
- }
-
- @Property
- public void setHttps(boolean https) {
- this.https = https;
- }
-
- @Property
- public void setKeystore(String keystore) {
- this.keystore = keystore;
- }
-
- @Property
- public void setCertPassword(String certPassword) {
- this.certPassword = certPassword;
- }
-
- @Property
- public void setKeyPassword(String keyPassword) {
- this.keyPassword = keyPassword;
- }
-
- @Property
- public void setDebug(boolean val) {
- debug = val;
- }
-
- @Init
- public void init() throws Exception {
- try {
- state = STARTING;
- server = new Server();
- if (scheduler == null) {
- BoundedThreadPool threadPool = new BoundedThreadPool();
- threadPool.setMaxThreads(100);
- server.setThreadPool(threadPool);
- } else {
- server.setThreadPool(new TuscanyThreadPool());
- }
- if (connector == null) {
- if (https) {
- Connector httpConnector = new SelectChannelConnector();
- httpConnector.setPort(httpPort);
- SslSocketConnector sslConnector = new SslSocketConnector();
- sslConnector.setPort(httpsPort);
- sslConnector.setKeystore(keystore);
- sslConnector.setPassword(certPassword);
- sslConnector.setKeyPassword(keyPassword);
- server.setConnectors(new Connector[]{httpConnector, sslConnector});
- } else {
- SelectChannelConnector selectConnector = new SelectChannelConnector();
- selectConnector.setPort(httpPort);
- server.setConnectors(new Connector[]{selectConnector});
- }
- } else {
- connector.setPort(httpPort);
- server.setConnectors(new Connector[]{connector});
- }
- ContextHandler contextHandler = new ContextHandler();
- contextHandler.setContextPath(ROOT);
- server.setHandler(contextHandler);
- servletHandler = new ServletHandler();
- contextHandler.setHandler(servletHandler);
- server.setStopAtShutdown(true);
- server.setSendServerVersion(sendServerVersion);
- monitor.started();
- server.start();
- state = STARTED;
- } catch (Exception e) {
- state = ERROR;
- throw e;
- }
- }
-
- @Destroy
- public void destroy() throws Exception {
- state = STOPPING;
- synchronized (joinLock) {
- joinLock.notifyAll();
- }
- server.stop();
- state = STOPPED;
- monitor.shutdown();
- }
-
- public void registerMapping(String path, Servlet servlet) {
- ServletHolder holder = new ServletHolder(servlet);
- servletHandler.addServlet(holder);
- ServletMapping mapping = new ServletMapping();
- mapping.setServletName(holder.getClassName());
- mapping.setPathSpec(path);
- servletHandler.addServletMapping(mapping);
- }
-
- public void unregisterMapping(String string) {
- throw new UnsupportedOperationException();
- }
-
- public void registerComposite(File compositeLocation) throws IOException {
- throw new UnsupportedOperationException();
- }
-
- public Server getServer() {
- return server;
- }
-
- public int getHttpPort() {
- return httpPort;
- }
-
- /**
- * An integration wrapper to enable use of a {@link WorkScheduler} with Jetty
- */
- private class TuscanyThreadPool implements ThreadPool {
-
- public boolean dispatch(Runnable job) {
- scheduler.scheduleWork(new TuscanyWork(job));
- return true;
- }
-
- public void join() throws InterruptedException {
- synchronized (joinLock) {
- joinLock.wait();
- }
- }
-
- public int getThreads() {
- throw new UnsupportedOperationException();
- }
-
- public int getIdleThreads() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isLowOnThreads() {
- // TODO FIXME
- return false;
- }
-
- public void start() throws Exception {
-
- }
-
- public void stop() throws Exception {
-
- }
-
- public boolean isRunning() {
- return state == STARTING || state == STARTED;
- }
-
- public boolean isStarted() {
- return state == STARTED;
- }
-
- public boolean isStarting() {
- return state == STARTING;
- }
-
- public boolean isStopping() {
- return state == STOPPING;
- }
-
- public boolean isFailed() {
- return state == ERROR;
- }
- }
-
- /**
- * A unit of work dispatched to the runtime work scheduler
- */
- private class TuscanyWork implements Work {
-
- Runnable job;
-
- public TuscanyWork(Runnable job) {
- this.job = job;
- }
-
- public void release() {
- }
-
- public void run() {
- job.run();
- }
- }
-
-}
diff --git a/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/TransportMonitor.java b/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/TransportMonitor.java
deleted file mode 100644
index c68eacd21c..0000000000
--- a/branches/sca-java-M2/sca/services/transports/http.jetty/src/main/java/org/apache/tuscany/service/jetty/TransportMonitor.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.jetty;
-
-/**
- * The monitoring interfaces used by the Jetty system service
- *
- * @version $$Rev$$ $$Date$$
- */
-public interface TransportMonitor {
-
- /**
- * Called after the service is initialized
- */
- void started();
-
- /**
- * Called after the service is stopped
- */
- void shutdown();
-
- void warn(String msg, Object...args);
-
- void debug(String msg, Object...args);
-
-}
diff --git a/branches/sca-java-M2/sca/services/transports/http.jetty/src/test/java/org/apache/tuscany/service/jetty/JettyServiceImplTestCase.java b/branches/sca-java-M2/sca/services/transports/http.jetty/src/test/java/org/apache/tuscany/service/jetty/JettyServiceImplTestCase.java
deleted file mode 100644
index 987d7d9a16..0000000000
--- a/branches/sca-java-M2/sca/services/transports/http.jetty/src/test/java/org/apache/tuscany/service/jetty/JettyServiceImplTestCase.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.service.jetty;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.net.Socket;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.tuscany.spi.services.work.WorkScheduler;
-
-import junit.framework.TestCase;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.getCurrentArguments;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import org.easymock.IAnswer;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JettyServiceImplTestCase extends TestCase {
-
- private static final String REQUEST1_HEADER =
- "GET / HTTP/1.0\n"
- + "Host: localhost\n"
- + "Content-Type: text/xml\n"
- + "Connection: close\n"
- + "Content-Length: ";
- private static final String REQUEST1_CONTENT =
- "";
- private static final String REQUEST1 =
- REQUEST1_HEADER + REQUEST1_CONTENT.getBytes().length + "\n\n" + REQUEST1_CONTENT;
-
- private static final int HTTP_PORT = 8585;
-
- private TransportMonitor monitor;
- private WorkScheduler scheduler;
- private ExecutorService executor = Executors.newCachedThreadPool();
-
- /**
- * Verifies requests are properly routed according to the servlet mapping
- */
- public void testRegisterServletMapping() throws Exception {
- JettyServiceImpl service = new JettyServiceImpl(monitor);
- service.setHttpPort(HTTP_PORT);
- service.init();
- TestServlet servlet = new TestServlet();
- service.registerMapping("/", servlet);
- Socket client = new Socket("127.0.0.1", HTTP_PORT);
- OutputStream os = client.getOutputStream();
- os.write(REQUEST1.getBytes());
- os.flush();
- read(client);
- service.destroy();
- assertTrue(servlet.invoked);
- }
-
- public void testUseWorkScheduler() throws Exception {
- JettyServiceImpl service = new JettyServiceImpl(monitor, scheduler);
- service.setDebug(true);
- service.setHttpPort(HTTP_PORT);
- service.init();
- TestServlet servlet = new TestServlet();
- service.registerMapping("/", servlet);
- Socket client = new Socket("127.0.0.1", HTTP_PORT);
- OutputStream os = client.getOutputStream();
- os.write(REQUEST1.getBytes());
- os.flush();
- read(client);
- service.destroy();
- assertTrue(servlet.invoked);
- }
-
- public void testRestart() throws Exception {
- JettyServiceImpl service = new JettyServiceImpl(monitor);
- service.setHttpPort(HTTP_PORT);
- service.init();
- service.destroy();
- service.init();
- service.destroy();
- }
-
- public void testNoMappings() throws Exception {
- JettyServiceImpl service = new JettyServiceImpl(monitor);
- service.setHttpPort(HTTP_PORT);
- service.init();
- Socket client = new Socket("127.0.0.1", HTTP_PORT);
- OutputStream os = client.getOutputStream();
- os.write(REQUEST1.getBytes());
- os.flush();
- read(client);
- service.destroy();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- //executor.submit();
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- monitor = createMock(TransportMonitor.class);
- scheduler = createMock(WorkScheduler.class);
- scheduler.scheduleWork(isA(Runnable.class));
-
- expectLastCall().andStubAnswer(new IAnswer() {
- public Object answer() throws Throwable {
- Runnable runnable = (Runnable) getCurrentArguments()[0];
- executor.execute(runnable);
- return null;
- }
- });
- replay(scheduler);
- }
-
- private static String read(Socket socket) throws IOException {
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- StringBuffer sb = new StringBuffer();
- String str;
- while ((str = reader.readLine()) != null) {
- sb.append(str);
- }
- return sb.toString();
- } finally {
- if (reader != null) {
- reader.close();
- }
- }
- }
-
- private class TestServlet extends HttpServlet {
- boolean invoked;
-
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- invoked = true;
- OutputStream writer = resp.getOutputStream();
- try {
- writer.write("result".getBytes());
- } finally {
- writer.close();
- }
- }
-
-
- }
-}