From b03e71026b144d1ee148e667c52b5f457d499d8d Mon Sep 17 00:00:00 2001 From: antelder Date: Tue, 9 Jun 2009 14:28:41 +0000 Subject: Move old vtest out of 2.x trunk to contrib git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@783013 13f79535-47bb-0310-9956-ffa450edef68 --- java/sca-contrib/vtest/assembly/component/pom.xml | 49 +++ .../sca/vtest/assembly/component/AService.java | 31 ++ .../sca/vtest/assembly/component/BService.java | 29 ++ .../sca/vtest/assembly/component/CService.java | 28 ++ .../assembly/component/impl/AServiceImpl.java | 49 +++ .../assembly/component/impl/BServiceImpl.java | 40 ++ .../assembly/component/impl/CServiceImpl.java | 31 ++ .../src/main/resources/component.composite | 41 ++ .../src/main/resources/nonuniquename.composite | 33 ++ .../src/main/resources/serviceelement.composite | 42 ++ .../main/resources/servicewithbinding.composite | 33 ++ .../main/resources/servicewithinterface.composite | 32 ++ .../src/main/resources/zerocomponents.composite | 26 ++ .../src/main/resources/zeroimplelements.composite | 38 ++ .../assembly/component/ComponentTestCase.java | 150 +++++++ java/sca-contrib/vtest/assembly/composite/pom.xml | 49 +++ .../sca/vtest/assembly/composite/AService.java | 31 ++ .../sca/vtest/assembly/composite/BService.java | 29 ++ .../sca/vtest/assembly/composite/CService.java | 28 ++ .../assembly/composite/impl/AServiceImpl.java | 49 +++ .../assembly/composite/impl/BServiceImpl.java | 40 ++ .../assembly/composite/impl/CServiceImpl.java | 31 ++ .../src/main/resources/composite.composite | 41 ++ .../assembly/composite/CompositeTestCase.java | 56 +++ java/sca-contrib/vtest/assembly/ctypefile/pom.xml | 49 +++ .../sca/vtest/assembly/ctypefile/AService.java | 30 ++ .../sca/vtest/assembly/ctypefile/BService.java | 29 ++ .../assembly/ctypefile/impl/AServiceImpl.java | 53 +++ .../assembly/ctypefile/impl/BServiceImpl.java | 37 ++ .../ctypefile/impl/AServiceImpl.componentType | 30 ++ .../ctypefile/impl/BServiceImpl.componentType | 28 ++ .../src/main/resources/typefile.composite | 40 ++ .../ctypefile/CompomnentTypeFileTestCase.java | 111 +++++ java/sca-contrib/vtest/assembly/pom.xml | 70 +++ .../java-api/annotations/conversational/pom.xml | 46 ++ .../annotations/conversational/AService.java | 30 ++ .../annotations/conversational/B1Service.java | 29 ++ .../annotations/conversational/B2Service.java | 32 ++ .../conversational/impl/AServiceImpl.java | 47 ++ .../conversational/impl/B1ServiceImpl.java | 38 ++ .../conversational/impl/B2ServiceImpl.java | 40 ++ .../src/main/resources/conversation.composite | 40 ++ .../ConversationAnnotationTestCase.java | 91 ++++ .../annotations/conversationattributes/pom.xml | 53 +++ .../conversationattributes/AService.java | 30 ++ .../conversationattributes/B2Service.java | 32 ++ .../conversationattributes/BService.java | 32 ++ .../conversationattributes/CService.java | 30 ++ .../conversationattributes/impl/AServiceImpl.java | 80 ++++ .../conversationattributes/impl/B2ServiceImpl.java | 42 ++ .../conversationattributes/impl/BServiceImpl.java | 42 ++ .../conversationattributes/impl/CServiceImpl.java | 37 ++ .../security/ACallbackHandler.java | 50 +++ .../security/JaasLoginModule.java | 179 ++++++++ .../security/UserPrincipal.java | 66 +++ .../src/main/resources/AJass.config | 3 + .../src/main/resources/conversation.composite | 46 ++ .../src/main/resources/definitions.xml | 34 ++ .../src/main/resources/singleprincipal.composite | 38 ++ .../ConversationAttributesTestCase.java | 93 ++++ .../SinglePricipalTestCase.java | 70 +++ .../vtest/java-api/annotations/destroy/pom.xml | 45 ++ .../javaapi/annotations/destroy/AService.java | 29 ++ .../annotations/destroy/impl/AServiceErr1Impl.java | 39 ++ .../annotations/destroy/impl/AServiceErr2Impl.java | 39 ++ .../annotations/destroy/impl/AServiceErr3Impl.java | 40 ++ .../annotations/destroy/impl/AServiceErr4Impl.java | 39 ++ .../annotations/destroy/impl/AServiceImpl.java | 38 ++ .../src/main/resources/err1/AServiceErr1.composite | 28 ++ .../src/main/resources/err2/AServiceErr2.composite | 28 ++ .../src/main/resources/err3/AServiceErr3.composite | 28 ++ .../src/main/resources/err4/AServiceErr4.composite | 28 ++ .../src/main/resources/proper/AService.composite | 28 ++ .../destroy/DestroyAnnotationTestCase.java | 159 +++++++ .../java-api/annotations/endsconversation/pom.xml | 46 ++ .../annotations/endsconversation/AService.java | 32 ++ .../annotations/endsconversation/BService.java | 37 ++ .../endsconversation/impl/AServiceImpl.java | 70 +++ .../endsconversation/impl/BServiceImpl.java | 59 +++ .../src/main/resources/endsconversation.composite | 35 ++ .../endsconversation/EndsConversationTestCase.java | 112 +++++ .../vtest/java-api/annotations/init/pom.xml | 45 ++ .../vtest/javaapi/annotations/init/AService.java | 30 ++ .../annotations/init/impl/AServiceErr1Impl.java | 43 ++ .../annotations/init/impl/AServiceErr2Impl.java | 43 ++ .../annotations/init/impl/AServiceErr3Impl.java | 44 ++ .../annotations/init/impl/AServiceErr4Impl.java | 43 ++ .../annotations/init/impl/AServiceImpl.java | 53 +++ .../src/main/resources/err1/AServiceErr1.composite | 28 ++ .../src/main/resources/err2/AServiceErr2.composite | 28 ++ .../src/main/resources/err3/AServiceErr3.composite | 28 ++ .../src/main/resources/err4/AServiceErr4.composite | 28 ++ .../src/main/resources/proper/AService.composite | 33 ++ .../annotations/init/InitAnnotationTestCase.java | 167 ++++++++ .../vtest/java-api/annotations/oneway/pom.xml | 46 ++ .../vtest/javaapi/annotations/oneway/AService.java | 31 ++ .../vtest/javaapi/annotations/oneway/BService.java | 28 ++ .../annotations/oneway/impl/AServiceImpl.java | 37 ++ .../annotations/oneway/impl/BServiceImpl.java | 43 ++ .../oneway/src/main/resources/oneway.composite | 35 ++ .../oneway/OneWayAnnotationTestCase.java | 78 ++++ .../sca-contrib/vtest/java-api/annotations/pom.xml | 69 +++ .../vtest/java-api/annotations/property/pom.xml | 46 ++ .../javaapi/annotations/property/AService.java | 82 ++++ .../annotations/property/AnotherAService.java | 48 +++ .../javaapi/annotations/property/BService.java | 32 ++ .../javaapi/annotations/property/CService.java | 38 ++ .../javaapi/annotations/property/impl/AObject.java | 35 ++ .../annotations/property/impl/AServiceImpl.java | 240 +++++++++++ .../property/impl/AnotherAServiceImpl.java | 116 +++++ .../annotations/property/impl/BServiceImpl.java | 32 ++ .../annotations/property/impl/CServiceImpl1.java | 87 ++++ .../annotations/property/impl/CServiceImpl2.java | 87 ++++ .../annotations/property/impl/CServiceImpl3.java | 87 ++++ .../annotations/property/impl/CServiceImpl4.java | 88 ++++ .../annotations/property/impl/CServiceImpl5.java | 88 ++++ .../annotations/property/impl/CServiceImpl6.java | 88 ++++ .../property/src/main/resources/property.composite | 143 +++++++ .../property/PropertyAnnotationTestCase.java | 299 +++++++++++++ .../vtest/java-api/annotations/reference/pom.xml | 46 ++ .../javaapi/annotations/reference/AService.java | 55 +++ .../javaapi/annotations/reference/BService.java | 31 ++ .../annotations/reference/impl/AServiceImpl.java | 215 ++++++++++ .../reference/impl/AUnannotatedServiceImpl.java | 141 ++++++ .../annotations/reference/impl/BServiceImpl.java | 32 ++ .../reference/src/main/resources/ab.composite | 51 +++ .../reference/ReferenceAnnotationTestCase.java | 229 ++++++++++ .../vtest/java-api/annotations/scope/pom.xml | 46 ++ .../vtest/javaapi/annotations/scope/AService.java | 29 ++ .../vtest/javaapi/annotations/scope/BService.java | 40 ++ .../vtest/javaapi/annotations/scope/CService.java | 40 ++ .../vtest/javaapi/annotations/scope/DService.java | 43 ++ .../vtest/javaapi/annotations/scope/FService.java | 43 ++ .../vtest/javaapi/annotations/scope/GService.java | 35 ++ .../vtest/javaapi/annotations/scope/HService.java | 36 ++ .../vtest/javaapi/annotations/scope/IService.java | 48 +++ .../vtest/javaapi/annotations/scope/JService.java | 33 ++ .../vtest/javaapi/annotations/scope/KService.java | 33 ++ .../vtest/javaapi/annotations/scope/LService.java | 41 ++ .../vtest/javaapi/annotations/scope/MService.java | 33 ++ .../vtest/javaapi/annotations/scope/NService.java | 33 ++ .../vtest/javaapi/annotations/scope/OService.java | 41 ++ .../annotations/scope/impl/AServiceImpl.java | 32 ++ .../annotations/scope/impl/BServiceImpl.java | 112 +++++ .../annotations/scope/impl/CServiceImpl.java | 114 +++++ .../annotations/scope/impl/DServiceImpl.java | 116 +++++ .../annotations/scope/impl/FServiceImpl.java | 116 +++++ .../annotations/scope/impl/GServiceImpl.java | 75 ++++ .../annotations/scope/impl/HServiceImpl.java | 86 ++++ .../annotations/scope/impl/IServiceImpl.java | 131 ++++++ .../annotations/scope/impl/JServiceImpl.java | 78 ++++ .../annotations/scope/impl/KServiceImpl.java | 80 ++++ .../annotations/scope/impl/LServiceImpl.java | 83 ++++ .../annotations/scope/impl/MServiceImpl.java | 81 ++++ .../annotations/scope/impl/NServiceImpl.java | 85 ++++ .../annotations/scope/impl/OServiceImpl.java | 83 ++++ .../scope/src/main/resources/scope.composite | 110 +++++ .../annotations/scope/ScopeAnnotationTestCase.java | 476 +++++++++++++++++++++ .../vtest/java-api/annotations/service/pom.xml | 46 ++ .../javaapi/annotations/service/AService.java | 34 ++ .../javaapi/annotations/service/BService.java | 33 ++ .../javaapi/annotations/service/CService.java | 31 ++ .../javaapi/annotations/service/DService1.java | 28 ++ .../javaapi/annotations/service/DService2.java | 28 ++ .../javaapi/annotations/service/DService3.java | 28 ++ .../javaapi/annotations/service/EService.java | 30 ++ .../javaapi/annotations/service/FService.java | 30 ++ .../javaapi/annotations/service/GService1.java | 30 ++ .../javaapi/annotations/service/GService2.java | 26 ++ .../javaapi/annotations/service/HService.java | 50 +++ .../javaapi/annotations/service/IService.java | 54 +++ .../javaapi/annotations/service/impl/AObject.java | 33 ++ .../annotations/service/impl/AServiceImpl.java | 37 ++ .../annotations/service/impl/BServiceImpl.java | 111 +++++ .../annotations/service/impl/CServiceImpl.java | 34 ++ .../annotations/service/impl/DServiceImpl.java | 41 ++ .../annotations/service/impl/EServiceImpl.java | 32 ++ .../annotations/service/impl/FServiceImpl.java | 37 ++ .../annotations/service/impl/FServiceImpl2.java | 26 ++ .../annotations/service/impl/GServiceImpl.java | 42 ++ .../annotations/service/impl/HServiceImpl.java | 105 +++++ .../annotations/service/impl/IServiceImpl.java | 107 +++++ .../service/src/main/resources/service.composite | 82 ++++ .../service/ServiceAnnotationTestCase.java | 335 +++++++++++++++ .../vtest/java-api/apis/callablereference/pom.xml | 45 ++ .../javaapi/apis/callablereference/AComponent.java | 38 ++ .../javaapi/apis/callablereference/BCallback.java | 26 ++ .../javaapi/apis/callablereference/BComponent.java | 38 ++ .../callablereference/impl/AComponentImpl.java | 104 +++++ .../callablereference/impl/BComponentImpl.java | 70 +++ .../src/main/resources/callablereference.composite | 34 ++ .../CallableReferenceTestCase.java | 118 +++++ .../vtest/java-api/apis/componentcontext/pom.xml | 45 ++ .../javaapi/apis/componentcontext/AComponent.java | 42 ++ .../javaapi/apis/componentcontext/BComponent.java | 29 ++ .../javaapi/apis/componentcontext/BService.java | 34 ++ .../javaapi/apis/componentcontext/CService.java | 29 ++ .../javaapi/apis/componentcontext/DComponent.java | 29 ++ .../apis/componentcontext/impl/AComponentImpl.java | 124 ++++++ .../impl/AUnannotatedComponentImpl.java | 121 ++++++ .../apis/componentcontext/impl/BComponentImpl.java | 52 +++ .../apis/componentcontext/impl/DComponentImpl.java | 32 ++ .../src/main/resources/ab.composite | 47 ++ .../componentcontext/ComponentContextTestCase.java | 191 +++++++++ .../vtest/java-api/apis/conversation/pom.xml | 45 ++ .../javaapi/apis/conversation/AComponent.java | 34 ++ .../javaapi/apis/conversation/BComponent.java | 39 ++ .../apis/conversation/impl/AComponentImpl.java | 73 ++++ .../apis/conversation/impl/BComponentImpl.java | 78 ++++ .../src/main/resources/conversation.composite | 34 ++ .../apis/conversation/ConversationTestCase.java | 70 +++ .../vtest/java-api/apis/exception/pom.xml | 45 ++ .../vtest/javaapi/apis/exception/AComponent.java | 40 ++ .../vtest/javaapi/apis/exception/BCallback.java | 26 ++ .../vtest/javaapi/apis/exception/BComponent.java | 35 ++ .../vtest/javaapi/apis/exception/CComponent.java | 34 ++ .../vtest/javaapi/apis/exception/DComponent.java | 33 ++ .../vtest/javaapi/apis/exception/DException.java | 30 ++ .../apis/exception/impl/AComponentImpl.java | 128 ++++++ .../apis/exception/impl/BComponentImpl.java | 64 +++ .../apis/exception/impl/CComponentImpl.java | 50 +++ .../apis/exception/impl/DComponentImpl.java | 37 ++ .../src/main/resources/exception.composite | 44 ++ .../javaapi/apis/exception/ExceptionTestCase.java | 132 ++++++ java/sca-contrib/vtest/java-api/apis/pom.xml | 64 +++ .../vtest/java-api/apis/requestcontext/pom.xml | 45 ++ .../javaapi/apis/requestcontext/AComponent.java | 35 ++ .../javaapi/apis/requestcontext/BCallback.java | 27 ++ .../javaapi/apis/requestcontext/BComponent.java | 35 ++ .../apis/requestcontext/impl/AComponentImpl.java | 102 +++++ .../apis/requestcontext/impl/BComponentImpl.java | 61 +++ .../src/main/resources/requestcontext.composite | 34 ++ .../requestcontext/RequestContextTestCase.java | 109 +++++ .../vtest/java-api/apis/servicereference/pom.xml | 45 ++ .../javaapi/apis/servicereference/AComponent.java | 37 ++ .../javaapi/apis/servicereference/BCallback.java | 26 ++ .../javaapi/apis/servicereference/BComponent.java | 38 ++ .../javaapi/apis/servicereference/CComponent.java | 27 ++ .../apis/servicereference/impl/AComponentImpl.java | 119 ++++++ .../apis/servicereference/impl/BComponentImpl.java | 74 ++++ .../apis/servicereference/impl/CComponentImpl.java | 38 ++ .../apis/servicereference/impl/TestObject.java | 37 ++ .../src/main/resources/servicereference.composite | 39 ++ .../servicereference/ServiceReferenceTestCase.java | 106 +++++ .../vtest/java-api/conversation/callback/pom.xml | 46 ++ .../javaapi/conversation/callback/AService.java | 30 ++ .../conversation/callback/AServiceCallback.java | 33 ++ .../javaapi/conversation/callback/BService.java | 40 ++ .../conversation/callback/BServiceCallback.java | 33 ++ .../javaapi/conversation/callback/CService.java | 39 ++ .../javaapi/conversation/callback/Utilities.java | 32 ++ .../callback/accessing/AServiceCallback.java | 33 ++ .../conversation/callback/accessing/BService.java | 41 ++ .../callback/accessing/impl/AServiceImpl.java | 67 +++ .../callback/accessing/impl/BServiceImpl.java | 60 +++ .../callback/custom/AServiceCallback.java | 33 ++ .../conversation/callback/custom/BService.java | 38 ++ .../callback/custom/CustomCallback.java | 35 ++ .../callback/custom/impl/AServiceImpl.java | 61 +++ .../callback/custom/impl/BServiceImpl.java | 49 +++ .../callback/custom/impl/CustomCallbackImpl.java | 38 ++ .../conversation/callback/id/AServiceCallback.java | 33 ++ .../javaapi/conversation/callback/id/BService.java | 41 ++ .../callback/id/impl/AServiceImpl.java | 73 ++++ .../callback/id/impl/BServiceImpl.java | 60 +++ .../conversation/callback/impl/AServiceImpl.java | 61 +++ .../conversation/callback/impl/BServiceImpl.java | 73 ++++ .../conversation/callback/impl/CServiceImpl.java | 49 +++ .../callback/local/AServiceCallback.java | 31 ++ .../conversation/callback/local/BService.java | 37 ++ .../callback/local/BServiceCallback.java | 31 ++ .../conversation/callback/local/CService.java | 37 ++ .../callback/local/impl/AServiceImpl.java | 61 +++ .../callback/local/impl/BServiceImpl.java | 73 ++++ .../callback/local/impl/CServiceImpl.java | 49 +++ .../conversation/callback/mixed/CService.java | 38 ++ .../callback/mixed/impl/BServiceImpl.java | 73 ++++ .../callback/mixed/impl/CServiceImpl.java | 49 +++ .../callback/multi/AServiceCallback.java | 33 ++ .../callback/multi/AServiceCallback2.java | 33 ++ .../conversation/callback/multi/BService.java | 39 ++ .../conversation/callback/multi/BService2.java | 39 ++ .../callback/multi/impl/AServiceImpl.java | 79 ++++ .../callback/multi/impl/BServiceImpl.java | 64 +++ .../callback/stateless/BServiceCallback.java | 31 ++ .../conversation/callback/stateless/CService.java | 39 ++ .../callback/stateless/impl/BServiceImpl.java | 73 ++++ .../callback/stateless/impl/BServiceImpl2.java | 81 ++++ .../callback/stateless/impl/BServiceImpl3.java | 74 ++++ .../callback/stateless/impl/CServiceImpl.java | 49 +++ .../main/resources/callback-accessing.composite | 34 ++ .../src/main/resources/callback-custom.composite | 40 ++ .../src/main/resources/callback-id.composite | 34 ++ .../src/main/resources/callback-local.composite | 40 ++ .../src/main/resources/callback-mixed.composite | 40 ++ .../src/main/resources/callback-multi.composite | 35 ++ .../callback-stateless-callbackfieldnull.composite | 40 ++ .../callback-stateless-callbackid.composite | 40 ++ .../main/resources/callback-stateless.composite | 41 ++ .../callback/src/main/resources/callback.composite | 40 ++ .../conversation/callback/CallbackTestCase.java | 377 ++++++++++++++++ .../vtest/java-api/conversation/id/pom.xml | 46 ++ .../vtest/javaapi/conversation/id/AService.java | 39 ++ .../vtest/javaapi/conversation/id/BService.java | 41 ++ .../vtest/javaapi/conversation/id/CService.java | 37 ++ .../conversation/id/CustomConversationId.java | 54 +++ .../javaapi/conversation/id/impl/AServiceImpl.java | 69 +++ .../javaapi/conversation/id/impl/BServiceImpl.java | 65 +++ .../javaapi/conversation/id/impl/CServiceImpl.java | 56 +++ .../src/main/resources/conversation-id.composite | 40 ++ .../conversation/id/ConversationIDTestCase.java | 118 +++++ .../vtest/java-api/conversation/lifetime/pom.xml | 46 ++ .../javaapi/conversation/lifetime/AService.java | 56 +++ .../conversation/lifetime/AServiceCallback.java | 35 ++ .../javaapi/conversation/lifetime/BService.java | 47 ++ .../lifetime/BServiceBusinessException.java | 53 +++ .../javaapi/conversation/lifetime/CService.java | 34 ++ .../javaapi/conversation/lifetime/DService.java | 38 ++ .../conversation/lifetime/impl/AServiceImpl.java | 197 +++++++++ .../conversation/lifetime/impl/BServiceImpl.java | 64 +++ .../conversation/lifetime/impl/CServiceImpl.java | 40 ++ .../conversation/lifetime/impl/DServiceImpl.java | 78 ++++ .../lifetime/src/main/resources/lifetime.composite | 45 ++ .../conversation/lifetime/LifetimeTestCase.java | 216 ++++++++++ .../vtest/java-api/conversation/parameters/pom.xml | 46 ++ .../javaapi/conversation/parameters/AService.java | 28 ++ .../javaapi/conversation/parameters/BService.java | 34 ++ .../javaapi/conversation/parameters/CService.java | 32 ++ .../conversation/parameters/impl/AServiceImpl.java | 47 ++ .../conversation/parameters/impl/BServiceImpl.java | 40 ++ .../conversation/parameters/impl/CServiceImpl.java | 44 ++ .../src/main/resources/parameters.composite | 40 ++ .../parameters/ConversationParametersTestCase.java | 69 +++ .../vtest/java-api/conversation/pom.xml | 63 +++ java/sca-contrib/vtest/java-api/pom.xml | 70 +++ java/sca-contrib/vtest/pom.xml | 56 +++ java/sca-contrib/vtest/processcomments.rb | 198 +++++++++ java/sca-contrib/vtest/utilities/pom.xml | 48 +++ .../tuscany/sca/vtest/utilities/ServiceFinder.java | 104 +++++ .../vtest/wsbinding/nowsdl/defaultbinding/pom.xml | 58 +++ .../wsbinding/nowsdl/defaultbinding/AService.java | 37 ++ .../wsbinding/nowsdl/defaultbinding/BService.java | 35 ++ .../wsbinding/nowsdl/defaultbinding/CService.java | 37 ++ .../wsbinding/nowsdl/defaultbinding/DService.java | 45 ++ .../nowsdl/defaultbinding/impl/AServiceImpl.java | 51 +++ .../nowsdl/defaultbinding/impl/BServiceImpl.java | 44 ++ .../nowsdl/defaultbinding/impl/CServiceImpl.java | 48 +++ .../nowsdl/defaultbinding/impl/DServiceImpl.java | 70 +++ .../src/main/resources/nowsdl.composite | 61 +++ .../NoWsdlDefaultBindingTestCase.java | 112 +++++ .../wsbinding/nowsdl/multisoapbindings/pom.xml | 58 +++ .../nowsdl/multisoapbindings/AService.java | 37 ++ .../nowsdl/multisoapbindings/BService.java | 35 ++ .../nowsdl/multisoapbindings/CService.java | 37 ++ .../nowsdl/multisoapbindings/DService.java | 45 ++ .../multisoapbindings/impl/AServiceImpl.java | 51 +++ .../multisoapbindings/impl/BServiceImpl.java | 44 ++ .../multisoapbindings/impl/CServiceImpl.java | 48 +++ .../multisoapbindings/impl/DServiceImpl.java | 70 +++ .../resources/nowsdlmultisoapbindings.composite | 135 ++++++ .../multisoapbindings/GeneratedWSDLTestCase.java | 162 +++++++ .../NoWsdlMultiSoapBindingsTestCase.java | 213 +++++++++ java/sca-contrib/vtest/wsbinding/nowsdl/pom.xml | 69 +++ .../vtest/wsbinding/nowsdl/promoted/pom.xml | 58 +++ .../vtest/wsbinding/nowsdl/promoted/AService.java | 37 ++ .../vtest/wsbinding/nowsdl/promoted/BService.java | 35 ++ .../wsbinding/nowsdl/promoted/BServiceSOAP.java | 35 ++ .../wsbinding/nowsdl/promoted/BServiceSOAP11.java | 35 ++ .../wsbinding/nowsdl/promoted/BServiceSOAP12.java | 35 ++ .../vtest/wsbinding/nowsdl/promoted/CService.java | 37 ++ .../vtest/wsbinding/nowsdl/promoted/DService.java | 45 ++ .../nowsdl/promoted/impl/AServiceImpl.java | 51 +++ .../nowsdl/promoted/impl/BServiceImpl.java | 44 ++ .../nowsdl/promoted/impl/BServiceSOAP11Impl.java | 44 ++ .../nowsdl/promoted/impl/BServiceSOAP12Impl.java | 44 ++ .../nowsdl/promoted/impl/BServiceSOAPImpl.java | 44 ++ .../nowsdl/promoted/impl/CServiceImpl.java | 48 +++ .../nowsdl/promoted/impl/DServiceImpl.java | 70 +++ .../src/main/resources/nowsdlpromoted.composite | 246 +++++++++++ .../nowsdl/promoted/NoWsdlPromoted1TestCase.java | 85 ++++ .../nowsdl/promoted/NoWsdlPromoted2TestCase.java | 118 +++++ .../vtest/wsbinding/nowsdl/soapversion/pom.xml | 58 +++ .../wsbinding/nowsdl/soapversion/AService.java | 37 ++ .../wsbinding/nowsdl/soapversion/BService.java | 35 ++ .../wsbinding/nowsdl/soapversion/BServiceSOAP.java | 35 ++ .../nowsdl/soapversion/BServiceSOAP11.java | 35 ++ .../nowsdl/soapversion/BServiceSOAP12.java | 35 ++ .../wsbinding/nowsdl/soapversion/CService.java | 37 ++ .../wsbinding/nowsdl/soapversion/DService.java | 45 ++ .../nowsdl/soapversion/impl/AServiceImpl.java | 51 +++ .../nowsdl/soapversion/impl/BServiceImpl.java | 44 ++ .../soapversion/impl/BServiceSOAP11Impl.java | 44 ++ .../soapversion/impl/BServiceSOAP12Impl.java | 44 ++ .../nowsdl/soapversion/impl/BServiceSOAPImpl.java | 44 ++ .../nowsdl/soapversion/impl/CServiceImpl.java | 48 +++ .../nowsdl/soapversion/impl/DServiceImpl.java | 70 +++ .../src/main/resources/nowsdlsoapversion.composite | 205 +++++++++ .../nowsdl/soapversion/GeneratedWSDLTestCase.java | 438 +++++++++++++++++++ .../soapversion/NoWsdlNoSoapVersionTestCase.java | 84 ++++ .../soapversion/NoWsdlSoapVersionTestCase.java | 121 ++++++ java/sca-contrib/vtest/wsbinding/pom.xml | 68 +++ java/sca-contrib/vtest/wsbinding/service/pom.xml | 58 +++ .../sca/vtest/wsbinding/AClientService.java | 29 ++ .../tuscany/sca/vtest/wsbinding/AService.java | 29 ++ .../vtest/wsbinding/impl/AClientServiceImpl.java | 38 ++ .../sca/vtest/wsbinding/impl/AServiceImpl.java | 33 ++ .../service/src/main/resources/aservice.wsdl | 139 ++++++ .../resources/endpoint-uri-resolution.composite | 103 +++++ .../src/main/resources/endpointreference.composite | 40 ++ .../src/main/resources/wsdlbinding.composite | 45 ++ .../src/main/resources/wsdlendpoint.composite | 37 ++ .../service/src/main/resources/wsdlport.composite | 43 ++ .../src/main/resources/wsdlservice.composite | 43 ++ .../vtest/wsbinding/EndpointReferenceTestCase.java | 67 +++ .../wsbinding/EndpointUriResolutionTestCase.java | 209 +++++++++ .../sca/vtest/wsbinding/WsdlBindingTestCase.java | 68 +++ .../sca/vtest/wsbinding/WsdlEndpointTestCase.java | 66 +++ .../sca/vtest/wsbinding/WsdlPortTestCase.java | 66 +++ .../sca/vtest/wsbinding/WsdlServiceTestCase.java | 69 +++ .../vtest/wsbinding/wsdlelement/binding/pom.xml | 58 +++ .../wsbinding/wsdlelement/binding/AService.java | 40 ++ .../wsbinding/wsdlelement/binding/BService.java | 35 ++ .../wsbinding/wsdlelement/binding/BService2.java | 33 ++ .../wsbinding/wsdlelement/binding/CService.java | 37 ++ .../wsbinding/wsdlelement/binding/DService.java | 45 ++ .../wsdlelement/binding/impl/AServiceImpl.java | 63 +++ .../wsdlelement/binding/impl/BService2Impl.java | 40 ++ .../wsdlelement/binding/impl/BServiceImpl.java | 44 ++ .../wsdlelement/binding/impl/CServiceImpl.java | 48 +++ .../wsdlelement/binding/impl/DServiceImpl.java | 70 +++ .../binding/src/main/resources/bservice.wsdl | 228 ++++++++++ .../binding/src/main/resources/cservice.wsdl | 173 ++++++++ .../main/resources/wsdlelement.binding.composite | 114 +++++ .../binding/WsdlElementBindingTestCase.java | 190 ++++++++ .../vtest/wsbinding/wsdlelement/pom.xml | 68 +++ .../vtest/wsbinding/wsdlelement/port/pom.xml | 58 +++ .../vtest/wsbinding/wsdlelement/port/AService.java | 40 ++ .../vtest/wsbinding/wsdlelement/port/BService.java | 35 ++ .../wsbinding/wsdlelement/port/BService2.java | 33 ++ .../vtest/wsbinding/wsdlelement/port/CService.java | 37 ++ .../vtest/wsbinding/wsdlelement/port/DService.java | 45 ++ .../wsdlelement/port/impl/AServiceImpl.java | 62 +++ .../wsdlelement/port/impl/BService2Impl.java | 40 ++ .../wsdlelement/port/impl/BServiceImpl.java | 44 ++ .../wsdlelement/port/impl/CServiceImpl.java | 48 +++ .../wsdlelement/port/impl/DServiceImpl.java | 70 +++ .../port/src/main/resources/bservice.wsdl | 238 +++++++++++ .../port/src/main/resources/cservice.wsdl | 173 ++++++++ .../src/main/resources/wsdlelement.port.composite | 115 +++++ .../wsdlelement/port/WsdlElementPortTestCase.java | 188 ++++++++ .../vtest/wsbinding/wsdlelement/service/pom.xml | 58 +++ .../wsbinding/wsdlelement/service/AService.java | 50 +++ .../wsbinding/wsdlelement/service/BService.java | 35 ++ .../wsbinding/wsdlelement/service/BService2.java | 33 ++ .../wsbinding/wsdlelement/service/CService.java | 37 ++ .../wsbinding/wsdlelement/service/DService.java | 45 ++ .../wsdlelement/service/impl/AServiceImpl.java | 88 ++++ .../wsdlelement/service/impl/BService2Impl.java | 40 ++ .../wsdlelement/service/impl/BServiceImpl.java | 44 ++ .../wsdlelement/service/impl/CServiceImpl.java | 48 +++ .../wsdlelement/service/impl/DServiceImpl.java | 70 +++ .../service/src/main/resources/bservice.wsdl | 225 ++++++++++ .../service/src/main/resources/cservice.wsdl | 173 ++++++++ .../main/resources/wsdlelement.service.composite | 145 +++++++ .../service/WsdlElementServiceTestCase.java | 235 ++++++++++ java/sca/vtest/assembly/component/pom.xml | 49 --- .../sca/vtest/assembly/component/AService.java | 31 -- .../sca/vtest/assembly/component/BService.java | 29 -- .../sca/vtest/assembly/component/CService.java | 28 -- .../assembly/component/impl/AServiceImpl.java | 49 --- .../assembly/component/impl/BServiceImpl.java | 40 -- .../assembly/component/impl/CServiceImpl.java | 31 -- .../src/main/resources/component.composite | 41 -- .../src/main/resources/nonuniquename.composite | 33 -- .../src/main/resources/serviceelement.composite | 42 -- .../main/resources/servicewithbinding.composite | 33 -- .../main/resources/servicewithinterface.composite | 32 -- .../src/main/resources/zerocomponents.composite | 26 -- .../src/main/resources/zeroimplelements.composite | 38 -- .../assembly/component/ComponentTestCase.java | 150 ------- java/sca/vtest/assembly/composite/pom.xml | 49 --- .../sca/vtest/assembly/composite/AService.java | 31 -- .../sca/vtest/assembly/composite/BService.java | 29 -- .../sca/vtest/assembly/composite/CService.java | 28 -- .../assembly/composite/impl/AServiceImpl.java | 49 --- .../assembly/composite/impl/BServiceImpl.java | 40 -- .../assembly/composite/impl/CServiceImpl.java | 31 -- .../src/main/resources/composite.composite | 41 -- .../assembly/composite/CompositeTestCase.java | 56 --- java/sca/vtest/assembly/ctypefile/pom.xml | 49 --- .../sca/vtest/assembly/ctypefile/AService.java | 30 -- .../sca/vtest/assembly/ctypefile/BService.java | 29 -- .../assembly/ctypefile/impl/AServiceImpl.java | 53 --- .../assembly/ctypefile/impl/BServiceImpl.java | 37 -- .../ctypefile/impl/AServiceImpl.componentType | 30 -- .../ctypefile/impl/BServiceImpl.componentType | 28 -- .../src/main/resources/typefile.composite | 40 -- .../ctypefile/CompomnentTypeFileTestCase.java | 111 ----- java/sca/vtest/assembly/pom.xml | 70 --- .../java-api/annotations/conversational/pom.xml | 46 -- .../annotations/conversational/AService.java | 30 -- .../annotations/conversational/B1Service.java | 29 -- .../annotations/conversational/B2Service.java | 32 -- .../conversational/impl/AServiceImpl.java | 47 -- .../conversational/impl/B1ServiceImpl.java | 38 -- .../conversational/impl/B2ServiceImpl.java | 40 -- .../src/main/resources/conversation.composite | 40 -- .../ConversationAnnotationTestCase.java | 91 ---- .../annotations/conversationattributes/pom.xml | 53 --- .../conversationattributes/AService.java | 30 -- .../conversationattributes/B2Service.java | 32 -- .../conversationattributes/BService.java | 32 -- .../conversationattributes/CService.java | 30 -- .../conversationattributes/impl/AServiceImpl.java | 80 ---- .../conversationattributes/impl/B2ServiceImpl.java | 42 -- .../conversationattributes/impl/BServiceImpl.java | 42 -- .../conversationattributes/impl/CServiceImpl.java | 37 -- .../security/ACallbackHandler.java | 50 --- .../security/JaasLoginModule.java | 179 -------- .../security/UserPrincipal.java | 66 --- .../src/main/resources/AJass.config | 3 - .../src/main/resources/conversation.composite | 46 -- .../src/main/resources/definitions.xml | 34 -- .../src/main/resources/singleprincipal.composite | 38 -- .../ConversationAttributesTestCase.java | 93 ---- .../SinglePricipalTestCase.java | 70 --- .../sca/vtest/java-api/annotations/destroy/pom.xml | 45 -- .../javaapi/annotations/destroy/AService.java | 29 -- .../annotations/destroy/impl/AServiceErr1Impl.java | 39 -- .../annotations/destroy/impl/AServiceErr2Impl.java | 39 -- .../annotations/destroy/impl/AServiceErr3Impl.java | 40 -- .../annotations/destroy/impl/AServiceErr4Impl.java | 39 -- .../annotations/destroy/impl/AServiceImpl.java | 38 -- .../src/main/resources/err1/AServiceErr1.composite | 28 -- .../src/main/resources/err2/AServiceErr2.composite | 28 -- .../src/main/resources/err3/AServiceErr3.composite | 28 -- .../src/main/resources/err4/AServiceErr4.composite | 28 -- .../src/main/resources/proper/AService.composite | 28 -- .../destroy/DestroyAnnotationTestCase.java | 159 ------- .../java-api/annotations/endsconversation/pom.xml | 46 -- .../annotations/endsconversation/AService.java | 32 -- .../annotations/endsconversation/BService.java | 37 -- .../endsconversation/impl/AServiceImpl.java | 70 --- .../endsconversation/impl/BServiceImpl.java | 59 --- .../src/main/resources/endsconversation.composite | 35 -- .../endsconversation/EndsConversationTestCase.java | 112 ----- java/sca/vtest/java-api/annotations/init/pom.xml | 45 -- .../vtest/javaapi/annotations/init/AService.java | 30 -- .../annotations/init/impl/AServiceErr1Impl.java | 43 -- .../annotations/init/impl/AServiceErr2Impl.java | 43 -- .../annotations/init/impl/AServiceErr3Impl.java | 44 -- .../annotations/init/impl/AServiceErr4Impl.java | 43 -- .../annotations/init/impl/AServiceImpl.java | 53 --- .../src/main/resources/err1/AServiceErr1.composite | 28 -- .../src/main/resources/err2/AServiceErr2.composite | 28 -- .../src/main/resources/err3/AServiceErr3.composite | 28 -- .../src/main/resources/err4/AServiceErr4.composite | 28 -- .../src/main/resources/proper/AService.composite | 33 -- .../annotations/init/InitAnnotationTestCase.java | 167 -------- java/sca/vtest/java-api/annotations/oneway/pom.xml | 46 -- .../vtest/javaapi/annotations/oneway/AService.java | 31 -- .../vtest/javaapi/annotations/oneway/BService.java | 28 -- .../annotations/oneway/impl/AServiceImpl.java | 37 -- .../annotations/oneway/impl/BServiceImpl.java | 43 -- .../oneway/src/main/resources/oneway.composite | 35 -- .../oneway/OneWayAnnotationTestCase.java | 78 ---- java/sca/vtest/java-api/annotations/pom.xml | 69 --- .../vtest/java-api/annotations/property/pom.xml | 46 -- .../javaapi/annotations/property/AService.java | 82 ---- .../annotations/property/AnotherAService.java | 48 --- .../javaapi/annotations/property/BService.java | 32 -- .../javaapi/annotations/property/CService.java | 38 -- .../javaapi/annotations/property/impl/AObject.java | 35 -- .../annotations/property/impl/AServiceImpl.java | 240 ----------- .../property/impl/AnotherAServiceImpl.java | 116 ----- .../annotations/property/impl/BServiceImpl.java | 32 -- .../annotations/property/impl/CServiceImpl1.java | 87 ---- .../annotations/property/impl/CServiceImpl2.java | 87 ---- .../annotations/property/impl/CServiceImpl3.java | 87 ---- .../annotations/property/impl/CServiceImpl4.java | 88 ---- .../annotations/property/impl/CServiceImpl5.java | 88 ---- .../annotations/property/impl/CServiceImpl6.java | 88 ---- .../property/src/main/resources/property.composite | 143 ------- .../property/PropertyAnnotationTestCase.java | 299 ------------- .../vtest/java-api/annotations/reference/pom.xml | 46 -- .../javaapi/annotations/reference/AService.java | 55 --- .../javaapi/annotations/reference/BService.java | 31 -- .../annotations/reference/impl/AServiceImpl.java | 215 ---------- .../reference/impl/AUnannotatedServiceImpl.java | 141 ------ .../annotations/reference/impl/BServiceImpl.java | 32 -- .../reference/src/main/resources/ab.composite | 51 --- .../reference/ReferenceAnnotationTestCase.java | 229 ---------- java/sca/vtest/java-api/annotations/scope/pom.xml | 46 -- .../vtest/javaapi/annotations/scope/AService.java | 29 -- .../vtest/javaapi/annotations/scope/BService.java | 40 -- .../vtest/javaapi/annotations/scope/CService.java | 40 -- .../vtest/javaapi/annotations/scope/DService.java | 43 -- .../vtest/javaapi/annotations/scope/FService.java | 43 -- .../vtest/javaapi/annotations/scope/GService.java | 35 -- .../vtest/javaapi/annotations/scope/HService.java | 36 -- .../vtest/javaapi/annotations/scope/IService.java | 48 --- .../vtest/javaapi/annotations/scope/JService.java | 33 -- .../vtest/javaapi/annotations/scope/KService.java | 33 -- .../vtest/javaapi/annotations/scope/LService.java | 41 -- .../vtest/javaapi/annotations/scope/MService.java | 33 -- .../vtest/javaapi/annotations/scope/NService.java | 33 -- .../vtest/javaapi/annotations/scope/OService.java | 41 -- .../annotations/scope/impl/AServiceImpl.java | 32 -- .../annotations/scope/impl/BServiceImpl.java | 112 ----- .../annotations/scope/impl/CServiceImpl.java | 114 ----- .../annotations/scope/impl/DServiceImpl.java | 116 ----- .../annotations/scope/impl/FServiceImpl.java | 116 ----- .../annotations/scope/impl/GServiceImpl.java | 75 ---- .../annotations/scope/impl/HServiceImpl.java | 86 ---- .../annotations/scope/impl/IServiceImpl.java | 131 ------ .../annotations/scope/impl/JServiceImpl.java | 78 ---- .../annotations/scope/impl/KServiceImpl.java | 80 ---- .../annotations/scope/impl/LServiceImpl.java | 83 ---- .../annotations/scope/impl/MServiceImpl.java | 81 ---- .../annotations/scope/impl/NServiceImpl.java | 85 ---- .../annotations/scope/impl/OServiceImpl.java | 83 ---- .../scope/src/main/resources/scope.composite | 110 ----- .../annotations/scope/ScopeAnnotationTestCase.java | 476 --------------------- .../sca/vtest/java-api/annotations/service/pom.xml | 46 -- .../javaapi/annotations/service/AService.java | 34 -- .../javaapi/annotations/service/BService.java | 33 -- .../javaapi/annotations/service/CService.java | 31 -- .../javaapi/annotations/service/DService1.java | 28 -- .../javaapi/annotations/service/DService2.java | 28 -- .../javaapi/annotations/service/DService3.java | 28 -- .../javaapi/annotations/service/EService.java | 30 -- .../javaapi/annotations/service/FService.java | 30 -- .../javaapi/annotations/service/GService1.java | 30 -- .../javaapi/annotations/service/GService2.java | 26 -- .../javaapi/annotations/service/HService.java | 50 --- .../javaapi/annotations/service/IService.java | 54 --- .../javaapi/annotations/service/impl/AObject.java | 33 -- .../annotations/service/impl/AServiceImpl.java | 37 -- .../annotations/service/impl/BServiceImpl.java | 111 ----- .../annotations/service/impl/CServiceImpl.java | 34 -- .../annotations/service/impl/DServiceImpl.java | 41 -- .../annotations/service/impl/EServiceImpl.java | 32 -- .../annotations/service/impl/FServiceImpl.java | 37 -- .../annotations/service/impl/FServiceImpl2.java | 26 -- .../annotations/service/impl/GServiceImpl.java | 42 -- .../annotations/service/impl/HServiceImpl.java | 105 ----- .../annotations/service/impl/IServiceImpl.java | 107 ----- .../service/src/main/resources/service.composite | 82 ---- .../service/ServiceAnnotationTestCase.java | 335 --------------- .../vtest/java-api/apis/callablereference/pom.xml | 45 -- .../javaapi/apis/callablereference/AComponent.java | 38 -- .../javaapi/apis/callablereference/BCallback.java | 26 -- .../javaapi/apis/callablereference/BComponent.java | 38 -- .../callablereference/impl/AComponentImpl.java | 104 ----- .../callablereference/impl/BComponentImpl.java | 70 --- .../src/main/resources/callablereference.composite | 34 -- .../CallableReferenceTestCase.java | 118 ----- .../vtest/java-api/apis/componentcontext/pom.xml | 45 -- .../javaapi/apis/componentcontext/AComponent.java | 42 -- .../javaapi/apis/componentcontext/BComponent.java | 29 -- .../javaapi/apis/componentcontext/BService.java | 34 -- .../javaapi/apis/componentcontext/CService.java | 29 -- .../javaapi/apis/componentcontext/DComponent.java | 29 -- .../apis/componentcontext/impl/AComponentImpl.java | 124 ------ .../impl/AUnannotatedComponentImpl.java | 121 ------ .../apis/componentcontext/impl/BComponentImpl.java | 52 --- .../apis/componentcontext/impl/DComponentImpl.java | 32 -- .../src/main/resources/ab.composite | 47 -- .../componentcontext/ComponentContextTestCase.java | 191 --------- java/sca/vtest/java-api/apis/conversation/pom.xml | 45 -- .../javaapi/apis/conversation/AComponent.java | 34 -- .../javaapi/apis/conversation/BComponent.java | 39 -- .../apis/conversation/impl/AComponentImpl.java | 73 ---- .../apis/conversation/impl/BComponentImpl.java | 78 ---- .../src/main/resources/conversation.composite | 34 -- .../apis/conversation/ConversationTestCase.java | 70 --- java/sca/vtest/java-api/apis/exception/pom.xml | 45 -- .../vtest/javaapi/apis/exception/AComponent.java | 40 -- .../vtest/javaapi/apis/exception/BCallback.java | 26 -- .../vtest/javaapi/apis/exception/BComponent.java | 35 -- .../vtest/javaapi/apis/exception/CComponent.java | 34 -- .../vtest/javaapi/apis/exception/DComponent.java | 33 -- .../vtest/javaapi/apis/exception/DException.java | 30 -- .../apis/exception/impl/AComponentImpl.java | 128 ------ .../apis/exception/impl/BComponentImpl.java | 64 --- .../apis/exception/impl/CComponentImpl.java | 50 --- .../apis/exception/impl/DComponentImpl.java | 37 -- .../src/main/resources/exception.composite | 44 -- .../javaapi/apis/exception/ExceptionTestCase.java | 132 ------ java/sca/vtest/java-api/apis/pom.xml | 64 --- .../sca/vtest/java-api/apis/requestcontext/pom.xml | 45 -- .../javaapi/apis/requestcontext/AComponent.java | 35 -- .../javaapi/apis/requestcontext/BCallback.java | 27 -- .../javaapi/apis/requestcontext/BComponent.java | 35 -- .../apis/requestcontext/impl/AComponentImpl.java | 102 ----- .../apis/requestcontext/impl/BComponentImpl.java | 61 --- .../src/main/resources/requestcontext.composite | 34 -- .../requestcontext/RequestContextTestCase.java | 109 ----- .../vtest/java-api/apis/servicereference/pom.xml | 45 -- .../javaapi/apis/servicereference/AComponent.java | 37 -- .../javaapi/apis/servicereference/BCallback.java | 26 -- .../javaapi/apis/servicereference/BComponent.java | 38 -- .../javaapi/apis/servicereference/CComponent.java | 27 -- .../apis/servicereference/impl/AComponentImpl.java | 119 ------ .../apis/servicereference/impl/BComponentImpl.java | 74 ---- .../apis/servicereference/impl/CComponentImpl.java | 38 -- .../apis/servicereference/impl/TestObject.java | 37 -- .../src/main/resources/servicereference.composite | 39 -- .../servicereference/ServiceReferenceTestCase.java | 106 ----- .../vtest/java-api/conversation/callback/pom.xml | 46 -- .../javaapi/conversation/callback/AService.java | 30 -- .../conversation/callback/AServiceCallback.java | 33 -- .../javaapi/conversation/callback/BService.java | 40 -- .../conversation/callback/BServiceCallback.java | 33 -- .../javaapi/conversation/callback/CService.java | 39 -- .../javaapi/conversation/callback/Utilities.java | 32 -- .../callback/accessing/AServiceCallback.java | 33 -- .../conversation/callback/accessing/BService.java | 41 -- .../callback/accessing/impl/AServiceImpl.java | 67 --- .../callback/accessing/impl/BServiceImpl.java | 60 --- .../callback/custom/AServiceCallback.java | 33 -- .../conversation/callback/custom/BService.java | 38 -- .../callback/custom/CustomCallback.java | 35 -- .../callback/custom/impl/AServiceImpl.java | 61 --- .../callback/custom/impl/BServiceImpl.java | 49 --- .../callback/custom/impl/CustomCallbackImpl.java | 38 -- .../conversation/callback/id/AServiceCallback.java | 33 -- .../javaapi/conversation/callback/id/BService.java | 41 -- .../callback/id/impl/AServiceImpl.java | 73 ---- .../callback/id/impl/BServiceImpl.java | 60 --- .../conversation/callback/impl/AServiceImpl.java | 61 --- .../conversation/callback/impl/BServiceImpl.java | 73 ---- .../conversation/callback/impl/CServiceImpl.java | 49 --- .../callback/local/AServiceCallback.java | 31 -- .../conversation/callback/local/BService.java | 37 -- .../callback/local/BServiceCallback.java | 31 -- .../conversation/callback/local/CService.java | 37 -- .../callback/local/impl/AServiceImpl.java | 61 --- .../callback/local/impl/BServiceImpl.java | 73 ---- .../callback/local/impl/CServiceImpl.java | 49 --- .../conversation/callback/mixed/CService.java | 38 -- .../callback/mixed/impl/BServiceImpl.java | 73 ---- .../callback/mixed/impl/CServiceImpl.java | 49 --- .../callback/multi/AServiceCallback.java | 33 -- .../callback/multi/AServiceCallback2.java | 33 -- .../conversation/callback/multi/BService.java | 39 -- .../conversation/callback/multi/BService2.java | 39 -- .../callback/multi/impl/AServiceImpl.java | 79 ---- .../callback/multi/impl/BServiceImpl.java | 64 --- .../callback/stateless/BServiceCallback.java | 31 -- .../conversation/callback/stateless/CService.java | 39 -- .../callback/stateless/impl/BServiceImpl.java | 73 ---- .../callback/stateless/impl/BServiceImpl2.java | 81 ---- .../callback/stateless/impl/BServiceImpl3.java | 74 ---- .../callback/stateless/impl/CServiceImpl.java | 49 --- .../main/resources/callback-accessing.composite | 34 -- .../src/main/resources/callback-custom.composite | 40 -- .../src/main/resources/callback-id.composite | 34 -- .../src/main/resources/callback-local.composite | 40 -- .../src/main/resources/callback-mixed.composite | 40 -- .../src/main/resources/callback-multi.composite | 35 -- .../callback-stateless-callbackfieldnull.composite | 40 -- .../callback-stateless-callbackid.composite | 40 -- .../main/resources/callback-stateless.composite | 41 -- .../callback/src/main/resources/callback.composite | 40 -- .../conversation/callback/CallbackTestCase.java | 377 ---------------- java/sca/vtest/java-api/conversation/id/pom.xml | 46 -- .../vtest/javaapi/conversation/id/AService.java | 39 -- .../vtest/javaapi/conversation/id/BService.java | 41 -- .../vtest/javaapi/conversation/id/CService.java | 37 -- .../conversation/id/CustomConversationId.java | 54 --- .../javaapi/conversation/id/impl/AServiceImpl.java | 69 --- .../javaapi/conversation/id/impl/BServiceImpl.java | 65 --- .../javaapi/conversation/id/impl/CServiceImpl.java | 56 --- .../src/main/resources/conversation-id.composite | 40 -- .../conversation/id/ConversationIDTestCase.java | 118 ----- .../vtest/java-api/conversation/lifetime/pom.xml | 46 -- .../javaapi/conversation/lifetime/AService.java | 56 --- .../conversation/lifetime/AServiceCallback.java | 35 -- .../javaapi/conversation/lifetime/BService.java | 47 -- .../lifetime/BServiceBusinessException.java | 53 --- .../javaapi/conversation/lifetime/CService.java | 34 -- .../javaapi/conversation/lifetime/DService.java | 38 -- .../conversation/lifetime/impl/AServiceImpl.java | 197 --------- .../conversation/lifetime/impl/BServiceImpl.java | 64 --- .../conversation/lifetime/impl/CServiceImpl.java | 40 -- .../conversation/lifetime/impl/DServiceImpl.java | 78 ---- .../lifetime/src/main/resources/lifetime.composite | 45 -- .../conversation/lifetime/LifetimeTestCase.java | 216 ---------- .../vtest/java-api/conversation/parameters/pom.xml | 46 -- .../javaapi/conversation/parameters/AService.java | 28 -- .../javaapi/conversation/parameters/BService.java | 34 -- .../javaapi/conversation/parameters/CService.java | 32 -- .../conversation/parameters/impl/AServiceImpl.java | 47 -- .../conversation/parameters/impl/BServiceImpl.java | 40 -- .../conversation/parameters/impl/CServiceImpl.java | 44 -- .../src/main/resources/parameters.composite | 40 -- .../parameters/ConversationParametersTestCase.java | 69 --- java/sca/vtest/java-api/conversation/pom.xml | 63 --- java/sca/vtest/java-api/pom.xml | 70 --- java/sca/vtest/pom.xml | 56 --- java/sca/vtest/processcomments.rb | 198 --------- java/sca/vtest/utilities/pom.xml | 48 --- .../tuscany/sca/vtest/utilities/ServiceFinder.java | 104 ----- .../vtest/wsbinding/nowsdl/defaultbinding/pom.xml | 58 --- .../wsbinding/nowsdl/defaultbinding/AService.java | 37 -- .../wsbinding/nowsdl/defaultbinding/BService.java | 35 -- .../wsbinding/nowsdl/defaultbinding/CService.java | 37 -- .../wsbinding/nowsdl/defaultbinding/DService.java | 45 -- .../nowsdl/defaultbinding/impl/AServiceImpl.java | 51 --- .../nowsdl/defaultbinding/impl/BServiceImpl.java | 44 -- .../nowsdl/defaultbinding/impl/CServiceImpl.java | 48 --- .../nowsdl/defaultbinding/impl/DServiceImpl.java | 70 --- .../src/main/resources/nowsdl.composite | 61 --- .../NoWsdlDefaultBindingTestCase.java | 112 ----- .../wsbinding/nowsdl/multisoapbindings/pom.xml | 58 --- .../nowsdl/multisoapbindings/AService.java | 37 -- .../nowsdl/multisoapbindings/BService.java | 35 -- .../nowsdl/multisoapbindings/CService.java | 37 -- .../nowsdl/multisoapbindings/DService.java | 45 -- .../multisoapbindings/impl/AServiceImpl.java | 51 --- .../multisoapbindings/impl/BServiceImpl.java | 44 -- .../multisoapbindings/impl/CServiceImpl.java | 48 --- .../multisoapbindings/impl/DServiceImpl.java | 70 --- .../resources/nowsdlmultisoapbindings.composite | 135 ------ .../multisoapbindings/GeneratedWSDLTestCase.java | 162 ------- .../NoWsdlMultiSoapBindingsTestCase.java | 213 --------- java/sca/vtest/wsbinding/nowsdl/pom.xml | 69 --- java/sca/vtest/wsbinding/nowsdl/promoted/pom.xml | 58 --- .../vtest/wsbinding/nowsdl/promoted/AService.java | 37 -- .../vtest/wsbinding/nowsdl/promoted/BService.java | 35 -- .../wsbinding/nowsdl/promoted/BServiceSOAP.java | 35 -- .../wsbinding/nowsdl/promoted/BServiceSOAP11.java | 35 -- .../wsbinding/nowsdl/promoted/BServiceSOAP12.java | 35 -- .../vtest/wsbinding/nowsdl/promoted/CService.java | 37 -- .../vtest/wsbinding/nowsdl/promoted/DService.java | 45 -- .../nowsdl/promoted/impl/AServiceImpl.java | 51 --- .../nowsdl/promoted/impl/BServiceImpl.java | 44 -- .../nowsdl/promoted/impl/BServiceSOAP11Impl.java | 44 -- .../nowsdl/promoted/impl/BServiceSOAP12Impl.java | 44 -- .../nowsdl/promoted/impl/BServiceSOAPImpl.java | 44 -- .../nowsdl/promoted/impl/CServiceImpl.java | 48 --- .../nowsdl/promoted/impl/DServiceImpl.java | 70 --- .../src/main/resources/nowsdlpromoted.composite | 246 ----------- .../nowsdl/promoted/NoWsdlPromoted1TestCase.java | 85 ---- .../nowsdl/promoted/NoWsdlPromoted2TestCase.java | 118 ----- .../sca/vtest/wsbinding/nowsdl/soapversion/pom.xml | 58 --- .../wsbinding/nowsdl/soapversion/AService.java | 37 -- .../wsbinding/nowsdl/soapversion/BService.java | 35 -- .../wsbinding/nowsdl/soapversion/BServiceSOAP.java | 35 -- .../nowsdl/soapversion/BServiceSOAP11.java | 35 -- .../nowsdl/soapversion/BServiceSOAP12.java | 35 -- .../wsbinding/nowsdl/soapversion/CService.java | 37 -- .../wsbinding/nowsdl/soapversion/DService.java | 45 -- .../nowsdl/soapversion/impl/AServiceImpl.java | 51 --- .../nowsdl/soapversion/impl/BServiceImpl.java | 44 -- .../soapversion/impl/BServiceSOAP11Impl.java | 44 -- .../soapversion/impl/BServiceSOAP12Impl.java | 44 -- .../nowsdl/soapversion/impl/BServiceSOAPImpl.java | 44 -- .../nowsdl/soapversion/impl/CServiceImpl.java | 48 --- .../nowsdl/soapversion/impl/DServiceImpl.java | 70 --- .../src/main/resources/nowsdlsoapversion.composite | 205 --------- .../nowsdl/soapversion/GeneratedWSDLTestCase.java | 438 ------------------- .../soapversion/NoWsdlNoSoapVersionTestCase.java | 84 ---- .../soapversion/NoWsdlSoapVersionTestCase.java | 121 ------ java/sca/vtest/wsbinding/pom.xml | 68 --- java/sca/vtest/wsbinding/service/pom.xml | 58 --- .../sca/vtest/wsbinding/AClientService.java | 29 -- .../tuscany/sca/vtest/wsbinding/AService.java | 29 -- .../vtest/wsbinding/impl/AClientServiceImpl.java | 38 -- .../sca/vtest/wsbinding/impl/AServiceImpl.java | 33 -- .../service/src/main/resources/aservice.wsdl | 139 ------ .../resources/endpoint-uri-resolution.composite | 103 ----- .../src/main/resources/endpointreference.composite | 40 -- .../src/main/resources/wsdlbinding.composite | 45 -- .../src/main/resources/wsdlendpoint.composite | 37 -- .../service/src/main/resources/wsdlport.composite | 43 -- .../src/main/resources/wsdlservice.composite | 43 -- .../vtest/wsbinding/EndpointReferenceTestCase.java | 67 --- .../wsbinding/EndpointUriResolutionTestCase.java | 209 --------- .../sca/vtest/wsbinding/WsdlBindingTestCase.java | 68 --- .../sca/vtest/wsbinding/WsdlEndpointTestCase.java | 66 --- .../sca/vtest/wsbinding/WsdlPortTestCase.java | 66 --- .../sca/vtest/wsbinding/WsdlServiceTestCase.java | 69 --- .../vtest/wsbinding/wsdlelement/binding/pom.xml | 58 --- .../wsbinding/wsdlelement/binding/AService.java | 40 -- .../wsbinding/wsdlelement/binding/BService.java | 35 -- .../wsbinding/wsdlelement/binding/BService2.java | 33 -- .../wsbinding/wsdlelement/binding/CService.java | 37 -- .../wsbinding/wsdlelement/binding/DService.java | 45 -- .../wsdlelement/binding/impl/AServiceImpl.java | 63 --- .../wsdlelement/binding/impl/BService2Impl.java | 40 -- .../wsdlelement/binding/impl/BServiceImpl.java | 44 -- .../wsdlelement/binding/impl/CServiceImpl.java | 48 --- .../wsdlelement/binding/impl/DServiceImpl.java | 70 --- .../binding/src/main/resources/bservice.wsdl | 228 ---------- .../binding/src/main/resources/cservice.wsdl | 173 -------- .../main/resources/wsdlelement.binding.composite | 114 ----- .../binding/WsdlElementBindingTestCase.java | 190 -------- java/sca/vtest/wsbinding/wsdlelement/pom.xml | 68 --- java/sca/vtest/wsbinding/wsdlelement/port/pom.xml | 58 --- .../vtest/wsbinding/wsdlelement/port/AService.java | 40 -- .../vtest/wsbinding/wsdlelement/port/BService.java | 35 -- .../wsbinding/wsdlelement/port/BService2.java | 33 -- .../vtest/wsbinding/wsdlelement/port/CService.java | 37 -- .../vtest/wsbinding/wsdlelement/port/DService.java | 45 -- .../wsdlelement/port/impl/AServiceImpl.java | 62 --- .../wsdlelement/port/impl/BService2Impl.java | 40 -- .../wsdlelement/port/impl/BServiceImpl.java | 44 -- .../wsdlelement/port/impl/CServiceImpl.java | 48 --- .../wsdlelement/port/impl/DServiceImpl.java | 70 --- .../port/src/main/resources/bservice.wsdl | 238 ----------- .../port/src/main/resources/cservice.wsdl | 173 -------- .../src/main/resources/wsdlelement.port.composite | 115 ----- .../wsdlelement/port/WsdlElementPortTestCase.java | 188 -------- .../vtest/wsbinding/wsdlelement/service/pom.xml | 58 --- .../wsbinding/wsdlelement/service/AService.java | 50 --- .../wsbinding/wsdlelement/service/BService.java | 35 -- .../wsbinding/wsdlelement/service/BService2.java | 33 -- .../wsbinding/wsdlelement/service/CService.java | 37 -- .../wsbinding/wsdlelement/service/DService.java | 45 -- .../wsdlelement/service/impl/AServiceImpl.java | 88 ---- .../wsdlelement/service/impl/BService2Impl.java | 40 -- .../wsdlelement/service/impl/BServiceImpl.java | 44 -- .../wsdlelement/service/impl/CServiceImpl.java | 48 --- .../wsdlelement/service/impl/DServiceImpl.java | 70 --- .../service/src/main/resources/bservice.wsdl | 225 ---------- .../service/src/main/resources/cservice.wsdl | 173 -------- .../main/resources/wsdlelement.service.composite | 145 ------- .../service/WsdlElementServiceTestCase.java | 235 ---------- 930 files changed, 29243 insertions(+), 29243 deletions(-) create mode 100644 java/sca-contrib/vtest/assembly/component/pom.xml create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/resources/component.composite create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/resources/nonuniquename.composite create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/resources/serviceelement.composite create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/resources/servicewithbinding.composite create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/resources/servicewithinterface.composite create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/resources/zerocomponents.composite create mode 100644 java/sca-contrib/vtest/assembly/component/src/main/resources/zeroimplelements.composite create mode 100644 java/sca-contrib/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java create mode 100644 java/sca-contrib/vtest/assembly/composite/pom.xml create mode 100644 java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java create mode 100644 java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java create mode 100644 java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java create mode 100644 java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/assembly/composite/src/main/resources/composite.composite create mode 100644 java/sca-contrib/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java create mode 100644 java/sca-contrib/vtest/assembly/ctypefile/pom.xml create mode 100644 java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java create mode 100644 java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java create mode 100644 java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType create mode 100644 java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType create mode 100644 java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/typefile.composite create mode 100644 java/sca-contrib/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java create mode 100644 java/sca-contrib/vtest/assembly/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversational/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B1Service.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B2Service.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B1ServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B2ServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversational/src/main/resources/conversation.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversational/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/ConversationAnnotationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/B2Service.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/BService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/CService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/B2ServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/ACallbackHandler.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/JaasLoginModule.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/UserPrincipal.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/AJass.config create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/conversation.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/definitions.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/singleprincipal.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/ConversationAttributesTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/SinglePricipalTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr1Impl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr2Impl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr3Impl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr4Impl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err1/AServiceErr1.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err2/AServiceErr2.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err3/AServiceErr3.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err4/AServiceErr4.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/proper/AService.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/destroy/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/DestroyAnnotationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/endsconversation/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/BService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/resources/endsconversation.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/endsconversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/EndsConversationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr1Impl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr2Impl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr3Impl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr4Impl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err1/AServiceErr1.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err2/AServiceErr2.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err3/AServiceErr3.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err4/AServiceErr4.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/proper/AService.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/init/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/InitAnnotationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/oneway/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/BService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/oneway/src/main/resources/oneway.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/oneway/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/OneWayAnnotationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/main/resources/property.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/reference/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/BService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/reference/src/main/resources/ab.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/BService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/CService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/DService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/FService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/GService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/HService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/IService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/JService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/KService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/LService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/MService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/NService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/OService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/FServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/GServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/HServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/IServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/JServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/KServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/LServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/MServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/NServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/OServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/main/resources/scope.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/scope/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/ScopeAnnotationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/main/resources/service.composite create mode 100644 java/sca-contrib/vtest/java-api/annotations/service/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/ServiceAnnotationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/apis/callablereference/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/AComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BCallback.java create mode 100644 java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/AComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/BComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/callablereference/src/main/resources/callablereference.composite create mode 100644 java/sca-contrib/vtest/java-api/apis/callablereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/CallableReferenceTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/AComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/CService.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/BComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/DComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite create mode 100644 java/sca-contrib/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/apis/conversation/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/AComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/BComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/AComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/BComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/conversation/src/main/resources/conversation.composite create mode 100644 java/sca-contrib/vtest/java-api/apis/conversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/ConversationTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BCallback.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/CComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/BComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/CComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/main/resources/exception.composite create mode 100644 java/sca-contrib/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/apis/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/apis/requestcontext/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/AComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BCallback.java create mode 100644 java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/AComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/BComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/resources/requestcontext.composite create mode 100644 java/sca-contrib/vtest/java-api/apis/requestcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/RequestContextTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/AComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BCallback.java create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/CComponent.java create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/AComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/BComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/CComponentImpl.java create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/TestObject.java create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/main/resources/servicereference.composite create mode 100644 java/sca-contrib/vtest/java-api/apis/servicereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/ServiceReferenceTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/Utilities.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/AServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/BService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/AServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/BService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/CustomCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/CustomCallbackImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/AServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/BService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/AServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/CService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/CService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback2.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService2.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/BServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/CService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl2.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl3.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-accessing.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-custom.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-id.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-local.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-mixed.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-multi.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackfieldnull.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackid.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/callback/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CallbackTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/AService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/BService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CustomConversationId.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/src/main/resources/conversation-id.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/id/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/ConversationIDTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AServiceCallback.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BServiceBusinessException.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/CService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/DService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/lifetime/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/LifetimeTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/parameters/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/AService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/BService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/CService.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/parameters/src/main/resources/parameters.composite create mode 100644 java/sca-contrib/vtest/java-api/conversation/parameters/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/ConversationParametersTestCase.java create mode 100644 java/sca-contrib/vtest/java-api/conversation/pom.xml create mode 100644 java/sca-contrib/vtest/java-api/pom.xml create mode 100644 java/sca-contrib/vtest/pom.xml create mode 100644 java/sca-contrib/vtest/processcomments.rb create mode 100644 java/sca-contrib/vtest/utilities/pom.xml create mode 100644 java/sca-contrib/vtest/utilities/src/main/java/org/apache/tuscany/sca/vtest/utilities/ServiceFinder.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/service/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/resources/aservice.wsdl create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/resources/endpointreference.composite create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlport.composite create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlservice.composite create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/pom.xml create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite create mode 100644 java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java delete mode 100644 java/sca/vtest/assembly/component/pom.xml delete mode 100644 java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java delete mode 100644 java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java delete mode 100644 java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java delete mode 100644 java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/assembly/component/src/main/resources/component.composite delete mode 100644 java/sca/vtest/assembly/component/src/main/resources/nonuniquename.composite delete mode 100644 java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite delete mode 100644 java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite delete mode 100644 java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite delete mode 100644 java/sca/vtest/assembly/component/src/main/resources/zerocomponents.composite delete mode 100644 java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite delete mode 100644 java/sca/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java delete mode 100644 java/sca/vtest/assembly/composite/pom.xml delete mode 100644 java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java delete mode 100644 java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java delete mode 100644 java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java delete mode 100644 java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/assembly/composite/src/main/resources/composite.composite delete mode 100644 java/sca/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java delete mode 100644 java/sca/vtest/assembly/ctypefile/pom.xml delete mode 100644 java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java delete mode 100644 java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java delete mode 100644 java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType delete mode 100644 java/sca/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType delete mode 100644 java/sca/vtest/assembly/ctypefile/src/main/resources/typefile.composite delete mode 100644 java/sca/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java delete mode 100644 java/sca/vtest/assembly/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/conversational/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B1Service.java delete mode 100644 java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B2Service.java delete mode 100644 java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B1ServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B2ServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/conversational/src/main/resources/conversation.composite delete mode 100644 java/sca/vtest/java-api/annotations/conversational/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/ConversationAnnotationTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/B2Service.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/BService.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/CService.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/B2ServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/ACallbackHandler.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/JaasLoginModule.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/UserPrincipal.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/AJass.config delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/conversation.composite delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/definitions.xml delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/singleprincipal.composite delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/ConversationAttributesTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/SinglePricipalTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/destroy/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr1Impl.java delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr2Impl.java delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr3Impl.java delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr4Impl.java delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/resources/err1/AServiceErr1.composite delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/resources/err2/AServiceErr2.composite delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/resources/err3/AServiceErr3.composite delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/resources/err4/AServiceErr4.composite delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/main/resources/proper/AService.composite delete mode 100644 java/sca/vtest/java-api/annotations/destroy/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/DestroyAnnotationTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/endsconversation/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/BService.java delete mode 100644 java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/endsconversation/src/main/resources/endsconversation.composite delete mode 100644 java/sca/vtest/java-api/annotations/endsconversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/EndsConversationTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/init/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr1Impl.java delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr2Impl.java delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr3Impl.java delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr4Impl.java delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/resources/err1/AServiceErr1.composite delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/resources/err2/AServiceErr2.composite delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/resources/err3/AServiceErr3.composite delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/resources/err4/AServiceErr4.composite delete mode 100644 java/sca/vtest/java-api/annotations/init/src/main/resources/proper/AService.composite delete mode 100644 java/sca/vtest/java-api/annotations/init/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/InitAnnotationTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/oneway/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/BService.java delete mode 100644 java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/oneway/src/main/resources/oneway.composite delete mode 100644 java/sca/vtest/java-api/annotations/oneway/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/OneWayAnnotationTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/property/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java delete mode 100644 java/sca/vtest/java-api/annotations/property/src/main/resources/property.composite delete mode 100644 java/sca/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/reference/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/BService.java delete mode 100644 java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite delete mode 100644 java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/BService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/CService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/DService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/FService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/GService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/HService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/IService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/JService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/KService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/LService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/MService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/NService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/OService.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/FServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/GServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/HServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/IServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/JServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/KServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/LServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/MServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/NServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/OServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/main/resources/scope.composite delete mode 100644 java/sca/vtest/java-api/annotations/scope/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/ScopeAnnotationTestCase.java delete mode 100644 java/sca/vtest/java-api/annotations/service/pom.xml delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java delete mode 100644 java/sca/vtest/java-api/annotations/service/src/main/resources/service.composite delete mode 100644 java/sca/vtest/java-api/annotations/service/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/ServiceAnnotationTestCase.java delete mode 100644 java/sca/vtest/java-api/apis/callablereference/pom.xml delete mode 100644 java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/AComponent.java delete mode 100644 java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BCallback.java delete mode 100644 java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BComponent.java delete mode 100644 java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/AComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/BComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/callablereference/src/main/resources/callablereference.composite delete mode 100644 java/sca/vtest/java-api/apis/callablereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/CallableReferenceTestCase.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/pom.xml delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/AComponent.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BComponent.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/CService.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/BComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/DComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite delete mode 100644 java/sca/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java delete mode 100644 java/sca/vtest/java-api/apis/conversation/pom.xml delete mode 100644 java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/AComponent.java delete mode 100644 java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/BComponent.java delete mode 100644 java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/AComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/BComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/conversation/src/main/resources/conversation.composite delete mode 100644 java/sca/vtest/java-api/apis/conversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/ConversationTestCase.java delete mode 100644 java/sca/vtest/java-api/apis/exception/pom.xml delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BCallback.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BComponent.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/CComponent.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/BComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/CComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/exception/src/main/resources/exception.composite delete mode 100644 java/sca/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java delete mode 100644 java/sca/vtest/java-api/apis/pom.xml delete mode 100644 java/sca/vtest/java-api/apis/requestcontext/pom.xml delete mode 100644 java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/AComponent.java delete mode 100644 java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BCallback.java delete mode 100644 java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BComponent.java delete mode 100644 java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/AComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/BComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/requestcontext/src/main/resources/requestcontext.composite delete mode 100644 java/sca/vtest/java-api/apis/requestcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/RequestContextTestCase.java delete mode 100644 java/sca/vtest/java-api/apis/servicereference/pom.xml delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/AComponent.java delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BCallback.java delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BComponent.java delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/CComponent.java delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/AComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/BComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/CComponentImpl.java delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/TestObject.java delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/main/resources/servicereference.composite delete mode 100644 java/sca/vtest/java-api/apis/servicereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/ServiceReferenceTestCase.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/pom.xml delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/Utilities.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/AServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/BService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/AServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/BService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/CustomCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/CustomCallbackImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/AServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/BService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/AServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/CService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/CService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback2.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService2.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/BServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/CService.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl2.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl3.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-accessing.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-custom.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-id.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-local.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-mixed.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-multi.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackfieldnull.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackid.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/main/resources/callback.composite delete mode 100644 java/sca/vtest/java-api/conversation/callback/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CallbackTestCase.java delete mode 100644 java/sca/vtest/java-api/conversation/id/pom.xml delete mode 100644 java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/AService.java delete mode 100644 java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/BService.java delete mode 100644 java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CService.java delete mode 100644 java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CustomConversationId.java delete mode 100644 java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/id/src/main/resources/conversation-id.composite delete mode 100644 java/sca/vtest/java-api/conversation/id/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/ConversationIDTestCase.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/pom.xml delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AService.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AServiceCallback.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BService.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BServiceBusinessException.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/CService.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/DService.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite delete mode 100644 java/sca/vtest/java-api/conversation/lifetime/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/LifetimeTestCase.java delete mode 100644 java/sca/vtest/java-api/conversation/parameters/pom.xml delete mode 100644 java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/AService.java delete mode 100644 java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/BService.java delete mode 100644 java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/CService.java delete mode 100644 java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/java-api/conversation/parameters/src/main/resources/parameters.composite delete mode 100644 java/sca/vtest/java-api/conversation/parameters/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/ConversationParametersTestCase.java delete mode 100644 java/sca/vtest/java-api/conversation/pom.xml delete mode 100644 java/sca/vtest/java-api/pom.xml delete mode 100644 java/sca/vtest/pom.xml delete mode 100644 java/sca/vtest/processcomments.rb delete mode 100644 java/sca/vtest/utilities/pom.xml delete mode 100644 java/sca/vtest/utilities/src/main/java/org/apache/tuscany/sca/vtest/utilities/ServiceFinder.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/pom.xml delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite delete mode 100644 java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/pom.xml delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/pom.xml delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/pom.xml delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java delete mode 100644 java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java delete mode 100644 java/sca/vtest/wsbinding/pom.xml delete mode 100644 java/sca/vtest/wsbinding/service/pom.xml delete mode 100644 java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java delete mode 100644 java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java delete mode 100644 java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl delete mode 100644 java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite delete mode 100644 java/sca/vtest/wsbinding/service/src/main/resources/endpointreference.composite delete mode 100644 java/sca/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite delete mode 100644 java/sca/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite delete mode 100644 java/sca/vtest/wsbinding/service/src/main/resources/wsdlport.composite delete mode 100644 java/sca/vtest/wsbinding/service/src/main/resources/wsdlservice.composite delete mode 100644 java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java delete mode 100644 java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java delete mode 100644 java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java delete mode 100644 java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java delete mode 100644 java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java delete mode 100644 java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/pom.xml delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/pom.xml delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/pom.xml delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/pom.xml delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite delete mode 100644 java/sca/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java (limited to 'java') diff --git a/java/sca-contrib/vtest/assembly/component/pom.xml b/java/sca-contrib/vtest/assembly/component/pom.xml new file mode 100644 index 0000000000..b2eac429c1 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/pom.xml @@ -0,0 +1,49 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-assembly + 2.0-SNAPSHOT + ../pom.xml + + vtest-assembly-component + + Apache Tuscany SCA Assembly Verification Tests - Component + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + + + diff --git a/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java new file mode 100644 index 0000000000..592020c180 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.component; + +/** + * Simple Remotable Service + */ +public interface AService { + + public String getState(); + public String getBProperty(); + public String getB2Property(); + + +} diff --git a/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java new file mode 100644 index 0000000000..0d95c8e4b8 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.component; + +/** + * Simple Service + */ +public interface BService { + + public String getState(); + public String getSomeProperty(); + +} diff --git a/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java new file mode 100644 index 0000000000..c979c57f31 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.component; + +/** + * + */ +public interface CService { + + public String getState(); + +} diff --git a/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java new file mode 100644 index 0000000000..ff17a71a3d --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.component.impl; + +import org.apache.tuscany.sca.vtest.assembly.component.AService; +import org.apache.tuscany.sca.vtest.assembly.component.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + protected BService b; + + @Reference + protected BService b2; + + public String getState() { + return b.getState(); + } + + public String getBProperty() { + return b.getSomeProperty(); + } + + public String getB2Property() { + return b2.getSomeProperty(); + } + +} + diff --git a/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java new file mode 100644 index 0000000000..e57ed2f951 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.component.impl; + +import org.apache.tuscany.sca.vtest.assembly.component.BService; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + @Property + protected String someProperty; + + public String getState() { + return "SomeStateFromB"; + } + + public String getSomeProperty() { + return someProperty; + } + +} diff --git a/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java new file mode 100644 index 0000000000..b2b420ed6a --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.component.impl; + +public class CServiceImpl { + + private String state = "Some State"; + + public String getState() { + return state; + } + +} + diff --git a/java/sca-contrib/vtest/assembly/component/src/main/resources/component.composite b/java/sca-contrib/vtest/assembly/component/src/main/resources/component.composite new file mode 100644 index 0000000000..bb452feac9 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/resources/component.composite @@ -0,0 +1,41 @@ + + + + + + + + + + + + + some b component value + + + + + some b2 component value + + + diff --git a/java/sca-contrib/vtest/assembly/component/src/main/resources/nonuniquename.composite b/java/sca-contrib/vtest/assembly/component/src/main/resources/nonuniquename.composite new file mode 100644 index 0000000000..3019542091 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/resources/nonuniquename.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/assembly/component/src/main/resources/serviceelement.composite b/java/sca-contrib/vtest/assembly/component/src/main/resources/serviceelement.composite new file mode 100644 index 0000000000..9460f5a2e1 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/resources/serviceelement.composite @@ -0,0 +1,42 @@ + + + + + + + + + + + + + some b component value + + + + + + some b2 component value + + + diff --git a/java/sca-contrib/vtest/assembly/component/src/main/resources/servicewithbinding.composite b/java/sca-contrib/vtest/assembly/component/src/main/resources/servicewithbinding.composite new file mode 100644 index 0000000000..085d84f40e --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/resources/servicewithbinding.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/assembly/component/src/main/resources/servicewithinterface.composite b/java/sca-contrib/vtest/assembly/component/src/main/resources/servicewithinterface.composite new file mode 100644 index 0000000000..cc915fbde5 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/resources/servicewithinterface.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/assembly/component/src/main/resources/zerocomponents.composite b/java/sca-contrib/vtest/assembly/component/src/main/resources/zerocomponents.composite new file mode 100644 index 0000000000..6f02d7e941 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/resources/zerocomponents.composite @@ -0,0 +1,26 @@ + + + + + + diff --git a/java/sca-contrib/vtest/assembly/component/src/main/resources/zeroimplelements.composite b/java/sca-contrib/vtest/assembly/component/src/main/resources/zeroimplelements.composite new file mode 100644 index 0000000000..8629f3817a --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/main/resources/zeroimplelements.composite @@ -0,0 +1,38 @@ + + + + + + + + + + some b component value + + + + + some b2 component value + + + diff --git a/java/sca-contrib/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java b/java/sca-contrib/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java new file mode 100644 index 0000000000..0938708b91 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java @@ -0,0 +1,150 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.component; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.Ignore; +import org.junit.Test; +import org.oasisopen.sca.ServiceRuntimeException; + +/** + * + */ +public class ComponentTestCase { + + private void initDomain(String compositePath) { + System.out.println("Setting up"); + ServiceFinder.init(compositePath); + } + + private void cleanupDomain() { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Lines 92-96: + *

+ * Components are configured instances of implementations. Components + * provide and consume services. More than one component can use and + * configure the same implementation, where each component configures the + * implementation differently. + */ + @Test + public void components1() throws Exception { + initDomain("component.composite"); + AService service = ServiceFinder.getService(AService.class, "AComponent/AService"); + Assert.assertEquals("some b component value", service.getBProperty()); + Assert.assertEquals("some b2 component value", service.getB2Property()); + cleanupDomain(); + } + + /** + * Lines 96-97: + *

+ * There can be zero or more component elements within a composite. + */ + @Test + public void components2() throws Exception { + initDomain("zerocomponents.composite"); + cleanupDomain(); + } + + /** + * Lines 142-143: + *

+ * name (required) – the name of the component. The name must be unique + * across all the components in the composite. + */ + @Test(expected = ServiceRuntimeException.class) + //@Ignore("TUSCANY-2455") + public void components3() throws Exception { + initDomain("nonuniquename.composite"); + cleanupDomain(); + } + + /** + * Lines 154-158: + *

+ * A component element has zero or one implementation element as its child, + * which points to the implementation used by the component. A component + * with no implementation element is not runnable, but components of this + * kind may be useful during a "top-down" development process as a means of + * defining the characteristics required of the implementation before the + * implementation is written. + */ + @Test + public void components4() throws Exception { + initDomain("zeroimplelements.composite"); + cleanupDomain(); + } + + /** + * Lines 159-160: + *

+ * The component element can have zero or more service elements as children + * which are used to configure the services of the component. + */ + @Test + public void components5() throws Exception { + initDomain("serviceelement.composite"); + cleanupDomain(); + } + + /** + * Lines 174-179: + *

+ * A service has zero or one interface, which describes the operations + * provided by the service. The interface is described by an interface + * element which is a child element of the service element. If no interface + * is specified, then the interface specified for the service by the + * implementation is in effect. If an interface is specified it must provide + * a compatible subset of the interface provided by the implementation, i.e. + * provide a subset of the operations defined by the implementation for the + * service. + */ + @Test + public void components6() throws Exception { + initDomain("servicewithinterface.composite"); + CService service = ServiceFinder.getService(CService.class, "CComponent"); + Assert.assertEquals("Some State", service.getState()); + cleanupDomain(); + } + + /** + * Lines 180-182: + *

+ * A service element has one or more binding elements as children. If no + * bindings are specified, then the bindings specified for the service by + * the implementation are in effect. If bindings are specified, then those + * bindings override the bindings specified by the implementation. + */ + @Test + public void components7() throws Exception { + initDomain("servicewithbinding.composite"); + CService service = ServiceFinder.getService(CService.class, "CComponent"); + Assert.assertEquals("Some State", service.getState()); + cleanupDomain(); + } + + +} diff --git a/java/sca-contrib/vtest/assembly/composite/pom.xml b/java/sca-contrib/vtest/assembly/composite/pom.xml new file mode 100644 index 0000000000..f9922f4cac --- /dev/null +++ b/java/sca-contrib/vtest/assembly/composite/pom.xml @@ -0,0 +1,49 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-assembly + 2.0-SNAPSHOT + ../pom.xml + + vtest-assembly-composite + + Apache Tuscany SCA Assembly Verification Tests - Composite + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + + + diff --git a/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java new file mode 100644 index 0000000000..a5cff3972b --- /dev/null +++ b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.composite; + +/** + * Simple Remotable Service + */ +public interface AService { + + public String getState(); + public String getBProperty(); + public String getB2Property(); + + +} diff --git a/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java new file mode 100644 index 0000000000..39d879e745 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.composite; + +/** + * Simple Service + */ +public interface BService { + + public String getState(); + public String getSomeProperty(); + +} diff --git a/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java new file mode 100644 index 0000000000..dd80c4dc6a --- /dev/null +++ b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.composite; + +/** + * + */ +public interface CService { + + public String getState(); + +} diff --git a/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java new file mode 100644 index 0000000000..4a4aa965ce --- /dev/null +++ b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.composite.impl; + +import org.apache.tuscany.sca.vtest.assembly.composite.AService; +import org.apache.tuscany.sca.vtest.assembly.composite.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + protected BService b; + + @Reference + protected BService b2; + + public String getState() { + return b.getState(); + } + + public String getBProperty() { + return b.getSomeProperty(); + } + + public String getB2Property() { + return b2.getSomeProperty(); + } + +} + diff --git a/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java new file mode 100644 index 0000000000..c71e2bcc16 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.composite.impl; + +import org.apache.tuscany.sca.vtest.assembly.composite.BService; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + @Property + protected String someProperty; + + public String getState() { + return "SomeStateFromB"; + } + + public String getSomeProperty() { + return someProperty; + } + +} diff --git a/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java new file mode 100644 index 0000000000..2f091a8ef2 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.composite.impl; + +public class CServiceImpl { + + private String state = "Some State"; + + public String getState() { + return state; + } + +} + diff --git a/java/sca-contrib/vtest/assembly/composite/src/main/resources/composite.composite b/java/sca-contrib/vtest/assembly/composite/src/main/resources/composite.composite new file mode 100644 index 0000000000..d533cb8dcf --- /dev/null +++ b/java/sca-contrib/vtest/assembly/composite/src/main/resources/composite.composite @@ -0,0 +1,41 @@ + + + + + + + + + + + + + some b component value + + + + + some b2 component value + + + diff --git a/java/sca-contrib/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java b/java/sca-contrib/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java new file mode 100644 index 0000000000..03f44e449c --- /dev/null +++ b/java/sca-contrib/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.composite; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.Ignore; +import org.junit.Test; +import org.oasisopen.sca.ServiceRuntimeException; + +/** + * + */ +public class CompositeTestCase { + + private void initDomain(String compositePath) { + System.out.println("Setting up"); + ServiceFinder.init(compositePath); + } + + private void cleanupDomain() { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + + /** + * Lines nn-n: + *

+ * spec + */ + @Test + public void composite1() throws Exception { + initDomain("composite.composite"); + + cleanupDomain(); + } +} diff --git a/java/sca-contrib/vtest/assembly/ctypefile/pom.xml b/java/sca-contrib/vtest/assembly/ctypefile/pom.xml new file mode 100644 index 0000000000..1eac774ff3 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/ctypefile/pom.xml @@ -0,0 +1,49 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-assembly + 2.0-SNAPSHOT + ../pom.xml + + vtest-assembly-ctypefile + + Apache Tuscany SCA Assembly Verification Tests - Component Type File + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + + + diff --git a/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java b/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java new file mode 100644 index 0000000000..d1df390ace --- /dev/null +++ b/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.ctypefile; + +/** + * Simple Remotable Service + */ +public interface AService { + + public String getState(); + public String getState2(); + public String getBProperty(); + +} diff --git a/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java b/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java new file mode 100644 index 0000000000..8ee18b242f --- /dev/null +++ b/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.ctypefile; + +/** + * Simple Service + */ +public interface BService { + + public String getState(); + public String getSomeProperty(); + +} diff --git a/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java b/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java new file mode 100644 index 0000000000..919e5c2953 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java @@ -0,0 +1,53 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.ctypefile.impl; + +import org.apache.tuscany.sca.vtest.assembly.ctypefile.AService; +import org.apache.tuscany.sca.vtest.assembly.ctypefile.BService; +import org.oasisopen.sca.annotation.Reference; + +public class AServiceImpl implements AService { + + private BService bService; + private BService b2Service; + + public void setBService(BService b) { + this.bService = b; + } + + @Reference + public void setB2Service(BService b) { + this.b2Service = b; + } + + public String getState() { + return bService.getState(); + } + + public String getState2() { + return b2Service.getState(); + } + + public String getBProperty() { + return bService.getSomeProperty(); + } + +} + diff --git a/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java b/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java new file mode 100644 index 0000000000..fd32cb1f9b --- /dev/null +++ b/java/sca-contrib/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.ctypefile.impl; + +import org.apache.tuscany.sca.vtest.assembly.ctypefile.BService; + +public class BServiceImpl implements BService { + + //@Property + protected String someProperty; + + public String getState() { + return "SomeStateFromB"; + } + + public String getSomeProperty() { + return someProperty; + } + +} diff --git a/java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType b/java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType new file mode 100644 index 0000000000..173203ae21 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType @@ -0,0 +1,30 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType b/java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType new file mode 100644 index 0000000000..c6a0f274c4 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType @@ -0,0 +1,28 @@ + + + + + + + + componentTypeValue + + + \ No newline at end of file diff --git a/java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/typefile.composite b/java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/typefile.composite new file mode 100644 index 0000000000..889bb846ba --- /dev/null +++ b/java/sca-contrib/vtest/assembly/ctypefile/src/main/resources/typefile.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + compositeValue + + + + + diff --git a/java/sca-contrib/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java b/java/sca-contrib/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java new file mode 100644 index 0000000000..f8f7e45f61 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.ctypefile; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * + */ +public class CompomnentTypeFileTestCase { + + protected static String compositeName = "typefile.composite"; + protected static AService aService = null; + protected static BService bService2 = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent/AService"); + bService2 = ServiceFinder.getService(BService.class, "BComponent2/BService"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + + } + + /** + * Lines 435-439: + *

+ * Step two covers the cases where introspection of the implementation is + * not possible or where it does not provide complete information and it + * involves looking for an SCA component type file. Component type + * information found in the component type file must be compatible with the + * equivalent information found from inspection of the implementation. + *

+ * Lines 441-444: + *

+ * In the ideal case, the component type information is determined by + * inspecting the implementation, for example as code annotations. The + * component type file provides a mechanism for the provision of component + * type information for implementation types where the information cannot be + * determined by inspecting the implementation. + */ + @Test + public void typeFile1() throws Exception { + Assert.assertSame("SomeStateFromB", aService.getState()); + } + + /** + * Lines 439-449: + *

+ * The component type file can specify partial information, with the + * remainder being derived from the implementation. + *

+ * The first test makes use of the reference to b which is provided by the + * type file. The second test makes use of the reference to b2 which is + * provided via annotation + */ + @Test + public void typeFile2() throws Exception { + Assert.assertSame("SomeStateFromB", aService.getState()); + Assert.assertSame("SomeStateFromB", aService.getState2()); + } + + /** + * Lines 450-451: + *

+ * The componentType element can contain Service elements, Reference + * elements and Property elements. + */ + @Test + public void typeFile3() throws Exception { + Assert.assertEquals("compositeValue", aService.getBProperty()); + } + + public void typeFile31() throws Exception { + Assert.assertEquals("componentTypeValue", bService2.getSomeProperty()); + } + +} diff --git a/java/sca-contrib/vtest/assembly/pom.xml b/java/sca-contrib/vtest/assembly/pom.xml new file mode 100644 index 0000000000..49e33352b4 --- /dev/null +++ b/java/sca-contrib/vtest/assembly/pom.xml @@ -0,0 +1,70 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-vtest + 2.0-SNAPSHOT + ../pom.xml + + vtest-assembly + pom + Apache Tuscany SCA Assembly Verification Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + vtest-utilities + 2.0-SNAPSHOT + runtime + + + + + + + + default + + true + + + ctypefile + component + composite + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/conversational/pom.xml b/java/sca-contrib/vtest/java-api/annotations/conversational/pom.xml new file mode 100644 index 0000000000..b9fa0ff9b9 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversational/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-conversation + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Conversation + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/AService.java b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/AService.java new file mode 100644 index 0000000000..bc7212f70c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/AService.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational; + +/** + * Simple Remotable Service + */ +public interface AService { + + public String setThenGetB1State(String someState); + + public String setThenGetB2State(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B1Service.java b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B1Service.java new file mode 100644 index 0000000000..76c857126a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B1Service.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational; + +/** + * Simple Local Service + */ +public interface B1Service { + + public void setState(String someState); + public String getState(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B2Service.java b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B2Service.java new file mode 100644 index 0000000000..23791f2ca9 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B2Service.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Local Service + */ +@Conversational +public interface B2Service { + + public void setState(String someState); + public String getState(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/AServiceImpl.java new file mode 100644 index 0000000000..b8e346681c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/AServiceImpl.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.B1Service; +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.B2Service; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + protected B1Service b1; + + @Reference + protected B2Service b2; + + public String setThenGetB1State(String someState) { + b1.setState(someState); + return b1.getState(); + } + + public String setThenGetB2State(String someState) { + b2.setState(someState); + return b2.getState(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B1ServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B1ServiceImpl.java new file mode 100644 index 0000000000..75bac4bf18 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B1ServiceImpl.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.B1Service; +import org.oasisopen.sca.annotation.Service; + +@Service(B1Service.class) +public class B1ServiceImpl implements B1Service { + + String someState; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B2ServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B2ServiceImpl.java new file mode 100644 index 0000000000..860d60b0de --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B2ServiceImpl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.B2Service; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(B2Service.class) +@Scope("COMPOSITE") +public class B2ServiceImpl implements B2Service { + + String someState; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/resources/conversation.composite b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/resources/conversation.composite new file mode 100644 index 0000000000..4c2de35d52 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversational/src/main/resources/conversation.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/conversational/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/ConversationAnnotationTestCase.java b/java/sca-contrib/vtest/java-api/annotations/conversational/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/ConversationAnnotationTestCase.java new file mode 100644 index 0000000000..c00d5f1c10 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversational/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/ConversationAnnotationTestCase.java @@ -0,0 +1,91 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * This test class tests the Service annotation described in section 1.2.1 and + * 1.8.17 + */ +public class ConversationAnnotationTestCase { + + protected static String compositeName = "conversation.composite"; + protected static AService aService = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + + } + + /** + * Line 328:
+ *

+ * When "@Conversational" is not specified on a service interface, the + * service contract is stateless.
+ *

+ * Line 394, 395:
+ * A service may be declared as conversational by marking its Java interface + * with "@Conversational". If a service interface is not marked with + * "@Conversational", it is stateless.
+ *

+ * BService has no "@Conversation" annotation so communication from A-> is + * stateless + */ + @Test + public void atConversation1() throws Exception { + String thisState = "This State"; + Assert.assertNotSame(thisState, aService.setThenGetB1State(thisState)); + } + + /** + * Line 325-327:
+ *

+ * Java service interfaces may be annotated to specify whether their + * contract is conversational as described in the Assembly Specification + * by using the "@Conversational" annotation. A conversational service + * indicates that requests to the service are correlated in some way + */ + @Test + public void atConversation2() throws Exception { + String thisState = "This State"; + Assert.assertSame(thisState, aService.setThenGetB2State(thisState)); + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/pom.xml b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/pom.xml new file mode 100644 index 0000000000..0c0236b440 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/pom.xml @@ -0,0 +1,53 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-conversationattributes + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @ConversationAttributes + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-policy-security + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/AService.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/AService.java new file mode 100644 index 0000000000..a3f1f11826 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/AService.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; + +/** + * Simple Service + */ +public interface AService { + + public void testMaxAge() throws InterruptedException; + public void testMaxIdle() throws InterruptedException; + public void testSinglePrincipal(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/B2Service.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/B2Service.java new file mode 100644 index 0000000000..7290c31f1a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/B2Service.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service + */ +@Conversational +public interface B2Service { + + public void setState(String someState); + public String getState(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/BService.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/BService.java new file mode 100644 index 0000000000..d38ca0276c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/BService.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service + */ +@Conversational +public interface BService { + + public void setState(String someState); + public String getState(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/CService.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/CService.java new file mode 100644 index 0000000000..5db8768398 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/CService.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; + +import org.oasisopen.sca.ServiceReference; + +/** + * Simple Service + */ +public interface CService { + + public void testSinglePricipal(ServiceReference bReference); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/AServiceImpl.java new file mode 100644 index 0000000000..a0a654920d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/AServiceImpl.java @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.B2Service; +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.CService; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + protected BService b; + + @Reference + protected B2Service b2; + + @Reference + protected CService c; + + @Context + protected ComponentContext context; + + private void delayForSeconds(int numSeconds) { + try { + Thread.sleep(numSeconds * 1000);// millisecs + } catch (InterruptedException ex) { + throw new Error(ex); + } + } + + public void testMaxAge() { + + String someState = "someState"; + b.setState(someState); + delayForSeconds(2); + b.setState(someState); + + } + + public void testMaxIdle() { + + String someState = "someState"; + b2.setState(someState); + delayForSeconds(2); + b2.setState(someState); + + } + + public void testSinglePrincipal() { + + b.setState("Some state"); + System.out.println("Calling c and passing reference to b"); + c.testSinglePricipal(context.getServiceReference(BService.class, "b")); + + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/B2ServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/B2ServiceImpl.java new file mode 100644 index 0000000000..2f711be74d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/B2ServiceImpl.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.BService; +import org.oasisopen.sca.annotation.ConversationAttributes; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxIdleTime="1 seconds") +public class B2ServiceImpl implements BService { + + String someState; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/BServiceImpl.java new file mode 100644 index 0000000000..f9aa1de8bd --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/BServiceImpl.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.BService; +import org.oasisopen.sca.annotation.ConversationAttributes; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="1 seconds", singlePrincipal=true) +public class BServiceImpl implements BService { + + String someState; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/CServiceImpl.java new file mode 100644 index 0000000000..cc1c0d18fd --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/CServiceImpl.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.CService; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public void testSinglePricipal(ServiceReference bReference) { + + System.out.println("In C calling set state on passed reference to B"); + bReference.getService().setState("someState"); + + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/ACallbackHandler.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/ACallbackHandler.java new file mode 100644 index 0000000000..3820240ee2 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/ACallbackHandler.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security; + +import java.io.IOException; + +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.NameCallback; +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.callback.UnsupportedCallbackException; + +/** + * @version $Rev$ $Date$ + */ +public class ACallbackHandler implements CallbackHandler { + + public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { + for (int i = 0; i < callbacks.length; i++) { + if (callbacks[i] instanceof NameCallback) { + NameCallback nc = (NameCallback)callbacks[i]; + nc.setName("AUser"); + } else if (callbacks[i] instanceof PasswordCallback) { + PasswordCallback pc = (PasswordCallback)callbacks[i]; + pc.setPassword("AUserPasswd".toCharArray()); + } else { + throw new UnsupportedCallbackException + (callbacks[i], "Unsupported Callback!"); + } + } + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/JaasLoginModule.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/JaasLoginModule.java new file mode 100644 index 0000000000..75573b838d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/JaasLoginModule.java @@ -0,0 +1,179 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security; + +import java.security.Principal; +import java.util.Map; + +import javax.security.auth.Subject; +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.NameCallback; +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.login.LoginException; +import javax.security.auth.spi.LoginModule; + + +/** + * @version $Rev$ $Date$ + */ +public class JaasLoginModule implements LoginModule { + + private CallbackHandler callbackHandler; + private Subject subject; + private Principal userPrincipal; + private String userId; + private String password; + private boolean succeeded; + private boolean commitSucceeded; + + public void initialize(Subject subject, + CallbackHandler callbackHandler, + Map sharedState, + Map options) { + this.callbackHandler = callbackHandler; + this.subject = subject; + } + + public boolean login() throws LoginException { + Callback[] callbacks = new Callback[2]; + callbacks[0] = new NameCallback("UserId:"); + callbacks[1] = new PasswordCallback("Password:", false); + + try { + callbackHandler.handle(callbacks); + userId = ((NameCallback)callbacks[0]).getName(); + password = new String(((PasswordCallback)callbacks[1]).getPassword()); + + if (userId.equals("CalculatorUser") && password.equals("CalculatorUserPasswd")) { + System.out.println("Successfully AUTHENTICATED!!"); + succeeded = true; + return true; + } else { + System.out.println("Incorrect userId / password! AUTHENTICATION FAILED!!"); + return false; + } + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + *

This method is called if the LoginContext's + * overall authentication succeeded + * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules + * succeeded). + * + *

If this LoginModule's own authentication attempt + * succeeded (checked by retrieving the private state saved by the + * login method), then this method associates a + * UserPrincipal + * with the Subject located in the + * LoginModule. If this LoginModule's own + * authentication attempted failed, then this method removes + * any state that was originally saved. + * + *

+ * + * @exception LoginException if the commit fails. + * + * @return true if this LoginModule's own login and commit + * attempts succeeded, or false otherwise. + */ + public boolean commit() throws LoginException { + if (succeeded == false) { + return false; + } else { + // add a Principal (authenticated identity) to the Subject + + // assume the user we authenticated is the UserPrincipal + userPrincipal = new UserPrincipal(userId); + if (!subject.getPrincipals().contains(userPrincipal)) + subject.getPrincipals().add(userPrincipal); + + // in any case, clean out state + userId = null; + password = null; + commitSucceeded = true; + return true; + } + } + + /** + *

This method is called if the LoginContext's + * overall authentication failed. + * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules + * did not succeed). + * + *

If this LoginModule's own authentication attempt + * succeeded (checked by retrieving the private state saved by the + * login and commit methods), + * then this method cleans up any state that was originally saved. + * + *

+ * + * @exception LoginException if the abort fails. + * + * @return false if this LoginModule's own login and/or commit attempts + * failed, and true otherwise. + */ + public boolean abort() throws LoginException { + if (succeeded == false) { + return false; + } else if (succeeded == true && commitSucceeded == false) { + // login succeeded but overall authentication failed + succeeded = false; + userId = null; + password = null; + userPrincipal = null; + } else { + // overall authentication succeeded and commit succeeded, + // but someone else's commit failed + logout(); + } + return true; + } + + /** + * Logout the user. + * + *

This method removes the SimplePrincipal + * that was added by the commit method. + * + *

+ * + * @exception LoginException if the logout fails. + * + * @return true in all cases since this LoginModule + * should not be ignored. + */ + public boolean logout() throws LoginException { + subject.getPrincipals().remove(userPrincipal); + succeeded = false; + succeeded = commitSucceeded; + userId = null; + if (password != null) + password = null; + userPrincipal = null; + return true; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/UserPrincipal.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/UserPrincipal.java new file mode 100644 index 0000000000..8349e775c5 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/UserPrincipal.java @@ -0,0 +1,66 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security; + +import java.security.Principal; + +/** + * @version $Rev$ $Date$ + */ +public class UserPrincipal implements Principal { + + private final String name; + + public UserPrincipal(String name) { + if (name == null) + throw new IllegalArgumentException("name cannot be null"); + this.name = name; + } + + public String getName() { + return name; + } + + public String toString() { + return name; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((name == null) ? 0 : name.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final UserPrincipal other = (UserPrincipal)obj; + if (name == null) { + if (other.name != null) + return false; + } else if (!name.equals(other.name)) + return false; + return true; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/AJass.config b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/AJass.config new file mode 100644 index 0000000000..9d5aec8ed5 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/AJass.config @@ -0,0 +1,3 @@ +AService { + org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security.JaasLoginModule required debug=true; +}; diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/conversation.composite b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/conversation.composite new file mode 100644 index 0000000000..49391b3353 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/conversation.composite @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/definitions.xml b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/definitions.xml new file mode 100644 index 0000000000..d3573176a3 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/definitions.xml @@ -0,0 +1,34 @@ + + + + + + + + AService + org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security.ACallbackHandler + + + + \ No newline at end of file diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/singleprincipal.composite b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/singleprincipal.composite new file mode 100644 index 0000000000..c10369c9bd --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/main/resources/singleprincipal.composite @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/ConversationAttributesTestCase.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/ConversationAttributesTestCase.java new file mode 100644 index 0000000000..952194430e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/ConversationAttributesTestCase.java @@ -0,0 +1,93 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.oasisopen.sca.ConversationEndedException; + +/** + * This test class tests the Service annotation described in section 1.2.1 and + * 1.8.17 + */ +public class ConversationAttributesTestCase { + + protected static String compositeName = "conversation.composite"; + protected static AService aService = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + + } + + /** + * Line 1665, 1666 + *

+ * maxIdleTime (optional) - The maximum time that can pass between + * operations within a single conversation. If more time than this passes, + * then the container may end the conversation. + */ + @Test(expected = ConversationEndedException.class) + public void maxIdle() throws Exception { + aService.testMaxIdle(); + } + + /** + * Line 1667, 1668 + *

+ * maxAge (optional) - The maximum time that the entire conversation can + * remain active. If more time than this passes, then the container may end + * the conversation. + */ + @Test(expected = ConversationEndedException.class) + public void maxAge() throws Exception { + aService.testMaxAge(); + } + + /** + * Line 1669, 1670 + *

+ * singlePrincipal (optional) – If true, only the principal (the user) that + * started the conversation has authority to continue the conversation. + * The default value is false. + */ + @Ignore("TUSCANY-2608") + @Test(expected = Exception.class) + public void singlePrincipal() throws Exception { + aService.testSinglePrincipal(); + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/SinglePricipalTestCase.java b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/SinglePricipalTestCase.java new file mode 100644 index 0000000000..4ebd667a00 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/SinglePricipalTestCase.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; + +import javax.security.auth.login.Configuration; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * + */ +public class SinglePricipalTestCase { + + protected static String compositeName = "singleprincipal.composite"; + protected static AService aService = null; + + @Before + public void init() throws Exception { + try { + Configuration.getConfiguration(); + } catch (java.lang.SecurityException e) { + System.out.println("Caught SecurityException"); + System.setProperty("java.security.auth.login.config", this.getClass().getClassLoader() + .getResource("AJass.config").toString()); + } + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + } + + @After + public void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + + } + + /** + * Line 1669, 1670 + *

+ * singlePrincipal (optional) – If true, only the principal (the user) that + * started the conversation has authority to continue the conversation. The + * default value is false. + */ + @Test(expected = Exception.class) + public void singlePrincipal() throws Exception { + aService.testSinglePrincipal(); + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/pom.xml b/java/sca-contrib/vtest/java-api/annotations/destroy/pom.xml new file mode 100644 index 0000000000..d0e306867f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-destroy + + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Destroy + + + + org.apache.tuscany.sca + tuscany-node-impl + 2.0-SNAPSHOT + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/AService.java b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/AService.java new file mode 100644 index 0000000000..636e7fd8fc --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/AService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService + */ +@Remotable +public interface AService { + public String getGreetings(String name); +} diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr1Impl.java b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr1Impl.java new file mode 100644 index 0000000000..e790c9e6d2 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr1Impl.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. The implementation has an error since it annotates a protected + * method with "@Destroy". + */ +@Service(AService.class) +public class AServiceErr1Impl implements AService { + + @Destroy + protected void destroy() { + } + + public String getGreetings(String name) { + return "Hello " + name; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr2Impl.java b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr2Impl.java new file mode 100644 index 0000000000..1d874007b2 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr2Impl.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. The implementation has an error since it annotates a private + * method with "@Destroy". + */ +@Service(AService.class) +public class AServiceErr2Impl implements AService { + + @Destroy + private void destroy() { + } + + public String getGreetings(String name) { + return "Hello " + name; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr3Impl.java b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr3Impl.java new file mode 100644 index 0000000000..bf4b0736ca --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr3Impl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. The implementation has an error since it annotates a + * method with non-void return type with "@Destroy". + */ +@Service(AService.class) +public class AServiceErr3Impl implements AService { + + @Destroy + public String destroy() { + return null; + } + + public String getGreetings(String name) { + return "Hello " + name; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr4Impl.java b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr4Impl.java new file mode 100644 index 0000000000..a320e6b3ff --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr4Impl.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. The implementation has an error since it annotates a + * method with arguments with "@Destroy". + */ +@Service(AService.class) +public class AServiceErr4Impl implements AService { + + @Destroy + public void destroy(int x) { + } + + public String getGreetings(String name) { + return "Hello " + name; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceImpl.java new file mode 100644 index 0000000000..4c77104866 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceImpl.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Destroy + public void destroy() { + } + + public String getGreetings(String name) { + return "Hello " + name; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err1/AServiceErr1.composite b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err1/AServiceErr1.composite new file mode 100644 index 0000000000..b03a0defe5 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err1/AServiceErr1.composite @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err2/AServiceErr2.composite b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err2/AServiceErr2.composite new file mode 100644 index 0000000000..93aafdd971 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err2/AServiceErr2.composite @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err3/AServiceErr3.composite b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err3/AServiceErr3.composite new file mode 100644 index 0000000000..eb8f6e59ca --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err3/AServiceErr3.composite @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err4/AServiceErr4.composite b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err4/AServiceErr4.composite new file mode 100644 index 0000000000..296a386876 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/err4/AServiceErr4.composite @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/proper/AService.composite b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/proper/AService.composite new file mode 100644 index 0000000000..4373bc2558 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/main/resources/proper/AService.composite @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/destroy/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/DestroyAnnotationTestCase.java b/java/sca-contrib/vtest/java-api/annotations/destroy/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/DestroyAnnotationTestCase.java new file mode 100644 index 0000000000..72834a6803 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/destroy/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/DestroyAnnotationTestCase.java @@ -0,0 +1,159 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy; + +import java.io.File; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCAContribution; +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.SCANodeFactory; +import org.junit.Test; +import org.oasisopen.sca.ServiceRuntimeException; + +/** + * This test class tests the "@Destroy" annotation described in section 1.8.8. + */ +public class DestroyAnnotationTestCase { + + /** + * Lines 1225, 1226, 1227
+ * The "@Destroy" annotation type is used to annotate a Java class method + * that will be called when the scope defined for the local service + * implemented by the class ends. The method must have a void return value + * and no arguments. The annotated method must be public. + *

+ * This method tests a proper destroy method. i.e., public, no arguments and + * with void return type. + */ + @Test + public void atDestroyProper() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/proper/AService.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/proper").toURL().toString())); + node.start(); + AService aService = ((SCAClient)node).getService(AService.class, "AComponent"); + Assert.assertEquals("Hello Pandu", aService.getGreetings("Pandu")); + node.stop(); + } + + /** + * Lines 1225, 1226, 1227
+ * The "@Destroy" annotation type is used to annotate a Java class method + * that will be called when the scope defined for the local service + * implemented by the class ends. The method must have a void return value + * and no arguments. The annotated method must be public. + *

+ * This method tests that an exception is thrown when a protected method is + * annotated with "@Destroy". + */ + @Test + public void atDestroyProtectedMethod() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + try { + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err1/AServiceErr1.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/err1").toURL().toString())); + Assert.fail(); + node.stop(); + } catch(ServiceRuntimeException e) { + //expected + Assert.assertNotSame(-1, e.getMessage().indexOf("Destructor must be a public method.")); + } + } + + /** + * Lines 1225, 1226, 1227
+ * The "@Destroy" annotation type is used to annotate a Java class method + * that will be called when the scope defined for the local service + * implemented by the class ends. The method must have a void return value + * and no arguments. The annotated method must be public. + *

+ * This method tests that an exception is thrown when a private method is + * annotated with "@Destroy". + */ + @Test + public void atDestroyPrivateMethod() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + try { + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err2/AServiceErr2.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/err2").toURL().toString())); + Assert.fail(); + node.stop(); + } catch(ServiceRuntimeException e) { + //expected + Assert.assertNotSame(-1, e.getMessage().indexOf("Destructor must be a public method.")); + } + } + + /** + * Lines 1225, 1226, 1227
+ * The "@Destroy" annotation type is used to annotate a Java class method + * that will be called when the scope defined for the local service + * implemented by the class ends. The method must have a void return value + * and no arguments. The annotated method must be public. + *

+ * This method tests that an exception is thrown when a method with non-void + * return type is annotated with "@Destroy". + */ + @Test + public void atDestroyNonVoidReturnType() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + try { + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err3/AServiceErr3.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/err3").toURL().toString())); + Assert.fail(); + node.stop(); + } catch(ServiceRuntimeException e) { + //expected + Assert.assertNotSame(-1, e.getMessage().indexOf("Destructor must return void.")); + } + } + + /** + * Lines 1225, 1226, 1227
+ * The "@Destroy" annotation type is used to annotate a Java class method + * that will be called when the scope defined for the local service + * implemented by the class ends. The method must have a void return value + * and no arguments. The annotated method must be public. + *

+ * This method tests that an exception is thrown when a method with arguments is + * annotated with "@Destroy". + */ + @Test + public void atDestroyMethodWithArgs() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + try { + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err4/AServiceErr4.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/err4").toURL().toString())); + Assert.fail(); + node.stop(); + } catch(ServiceRuntimeException e) { + //expected + Assert.assertNotSame(-1, e.getMessage().indexOf("Destructor must not have argments")); + } + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/endsconversation/pom.xml b/java/sca-contrib/vtest/java-api/annotations/endsconversation/pom.xml new file mode 100644 index 0000000000..9c763a1111 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/endsconversation/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-endsconversation + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @EndsConversation + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/AService.java b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/AService.java new file mode 100644 index 0000000000..13bcb1fd51 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/AService.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation; + +/** + * Simple Remotable Service + */ +public interface AService { + + public void testAtEndsConversation(); + + public void testSREndConversation(); + + public void testTimedEnd(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/BService.java b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/BService.java new file mode 100644 index 0000000000..01d3ef051e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/BService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.EndsConversation; + +/** + * Simple Local Service + */ +@Conversational +public interface BService { + + public void setState(String someState); + + public String getConversationId(); + + @EndsConversation + public void endConversation(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/AServiceImpl.java new file mode 100644 index 0000000000..606020cf85 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/AServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.BService; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.junit.Assert; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + protected BService b; + + @Reference + protected ServiceReference b2; + + private void delayForSeconds(int numSeconds) { + try { + Thread.sleep(numSeconds * 1000);// millisecs + } catch (InterruptedException ex) { + throw new Error(ex); + } + } + + public void testAtEndsConversation() { + String firstId; + b.setState("SomeState"); + firstId = b.getConversationId(); + b.endConversation(); + b.setState("SomeState");// This should start a new conversation + Assert.assertNotSame(b.getConversationId(), firstId); + } + + public void testSREndConversation() { + String firstId; + b2.getService().setState("SomeState"); + firstId = b2.getService().getConversationId(); + b2.getConversation().end(); + b2.getService().setState("SomeState");// This should start a new conversation + Assert.assertNotSame(b2.getService().getConversationId(), firstId); + } + + public void testTimedEnd() { + b.setState("someState"); + delayForSeconds(2); + b.setState("someState"); // should fail w/ timeout + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/BServiceImpl.java new file mode 100644 index 0000000000..56644c6967 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/BServiceImpl.java @@ -0,0 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.BService; +import org.oasisopen.sca.annotation.ConversationAttributes; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxIdleTime="1 seconds") +public class BServiceImpl implements BService { + + String someState; + + protected String conversationId; + + public void setState(String someState) { + this.someState = someState; + } + + @ConversationID + public void setConversationID (String id){ + this.conversationId = id; + System.out.println("BService conversation ID =>" + conversationId); + } + + public String getState() { + return someState; + } + + public String getConversationId() { + return conversationId; + } + + public void endConversation() { + System.out.println("Conversation ended"); + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/resources/endsconversation.composite b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/resources/endsconversation.composite new file mode 100644 index 0000000000..cbc13e380c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/main/resources/endsconversation.composite @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/EndsConversationTestCase.java b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/EndsConversationTestCase.java new file mode 100644 index 0000000000..61d7e25187 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/endsconversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/EndsConversationTestCase.java @@ -0,0 +1,112 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.oasisopen.sca.ConversationEndedException; + +/** + * This test class tests the Service annotation described in section 1.2.1 and + * 1.8.17 + */ +public class EndsConversationTestCase { + + protected static String compositeName = "endsconversation.composite"; + protected static AService aService = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Lines 410,411,412,413: + *

+ * A method of a conversational interface may be marked with an + * "@EndsConversation" annotation. Once a method marked with + * "@EndsConversation" has been called, the conversation between client and + * service provider is at an end, which implies no further methods may be + * called on that service within the *same* conversation. + */ + @Test + public void atEndsConversation1() throws Exception { + aService.testAtEndsConversation(); + } + + /** + * Lines 417,418,419,420: + *

+ * From the errata:
+ * Solution: Replace lines 417-420 at the end of section 1.6.2.2 with the + * following: "If a conversation is ended with an explicit outbound call to + * an "@EndsConversation" method or a call to + * ServiceReference.endConversation(), then any subsequent call to an + * operation on the service reference will start a new conversation. If the + * conversation ends for any other reason (e.g. a timeout occurred), then + * until ServiceReference.getConversation().end() is called, the + * ConversationEndedException will be thrown by any conversational + * operation." + *

+ * This tests the first section of the errata. Up to "start a new + * conversation" + */ + @Test + public void atEndsConversation2() throws Exception { + aService.testSREndConversation(); + } + + /** + * Lines 417,418,419,420: + *

+ * From the errata:
+ * Solution: Replace lines 417-420 at the end of section 1.6.2.2 with the + * following: "If a conversation is ended with an explicit outbound call to + * an "@EndsConversation" method or a call to + * ServiceReference.endConversation(), then any subsequent call to an + * operation on the service reference will start a new conversation. If the + * conversation ends for any other reason (e.g. a timeout occurred), then + * until ServiceReference.getConversation().end() is called, the + * ConversationEndedException will be thrown by any conversational + * operation." + *

+ * This tests the second section of the errata. Starting with .. "If the + * conversation ends for any other reason ..." + */ + @Test(expected = ConversationEndedException.class) + public void atEndsConversation3() throws Exception { + aService.testTimedEnd(); + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/init/pom.xml b/java/sca-contrib/vtest/java-api/annotations/init/pom.xml new file mode 100644 index 0000000000..9700b6870c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-init + + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Init + + + + org.apache.tuscany.sca + tuscany-node-impl + 2.0-SNAPSHOT + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/AService.java b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/AService.java new file mode 100644 index 0000000000..9f6b9bcffd --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/AService.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.init; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService + */ +@Remotable +public interface AService { + public String getGreetings(String name); + public boolean isInitProper(); +} diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr1Impl.java b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr1Impl.java new file mode 100644 index 0000000000..c48b2e2070 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr1Impl.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. The implementation has an error since it annotates a protected + * method with "@Init". + */ +@Service(AService.class) +public class AServiceErr1Impl implements AService { + + @Init + protected void init() { + } + + public String getGreetings(String name) { + return "Hello " + name; + } + + public boolean isInitProper() { + return false; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr2Impl.java b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr2Impl.java new file mode 100644 index 0000000000..532b1d16eb --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr2Impl.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. The implementation has an error since it annotates a private + * method with "@Init". + */ +@Service(AService.class) +public class AServiceErr2Impl implements AService { + + @Init + private void init() { + } + + public String getGreetings(String name) { + return "Hello " + name; + } + + public boolean isInitProper() { + return false; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr3Impl.java b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr3Impl.java new file mode 100644 index 0000000000..b69a2541b0 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr3Impl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. The implementation has an error since it annotates a + * method with non-void return type with "@Init". + */ +@Service(AService.class) +public class AServiceErr3Impl implements AService { + + @Init + public String init() { + return null; + } + + public String getGreetings(String name) { + return "Hello " + name; + } + + public boolean isInitProper() { + return false; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr4Impl.java b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr4Impl.java new file mode 100644 index 0000000000..76f905cff0 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr4Impl.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. The implementation has an error since it annotates a + * method with arguments with "@Init". + */ +@Service(AService.class) +public class AServiceErr4Impl implements AService { + + @Init + public void init(int x) { + } + + public String getGreetings(String name) { + return "Hello " + name; + } + + public boolean isInitProper() { + return false; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceImpl.java new file mode 100644 index 0000000000..14c0e9c2da --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceImpl.java @@ -0,0 +1,53 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + private boolean initProper; + + @Property + public String someProperty; + + @Reference + public AService someReference; + + @Init + public void init() { + initProper = someProperty != null && someReference != null; + } + + public String getGreetings(String name) { + return "Hello " + name; + } + + public boolean isInitProper() { + return initProper; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err1/AServiceErr1.composite b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err1/AServiceErr1.composite new file mode 100644 index 0000000000..01b8e101e0 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err1/AServiceErr1.composite @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err2/AServiceErr2.composite b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err2/AServiceErr2.composite new file mode 100644 index 0000000000..4ae38d44b6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err2/AServiceErr2.composite @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err3/AServiceErr3.composite b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err3/AServiceErr3.composite new file mode 100644 index 0000000000..6bc3d8e7fc --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err3/AServiceErr3.composite @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err4/AServiceErr4.composite b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err4/AServiceErr4.composite new file mode 100644 index 0000000000..7ade16e6d3 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/err4/AServiceErr4.composite @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/proper/AService.composite b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/proper/AService.composite new file mode 100644 index 0000000000..35f13a2ae6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/main/resources/proper/AService.composite @@ -0,0 +1,33 @@ + + + + + + + hello + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/init/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/InitAnnotationTestCase.java b/java/sca-contrib/vtest/java-api/annotations/init/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/InitAnnotationTestCase.java new file mode 100644 index 0000000000..6ee7b8de89 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/init/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/InitAnnotationTestCase.java @@ -0,0 +1,167 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.init; + +import java.io.File; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCAContribution; +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.SCANodeFactory; +import org.junit.Test; +import org.oasisopen.sca.ServiceRuntimeException; + +/** + * This test class tests the "@Init" annotation described in section 1.8.11. + */ +public class InitAnnotationTestCase { + + /** + * Lines 1290, 1291, 1292, 1293
+ * The "@Init" annotation type is used to annotate a Java class method that + * is called when the scope defined for the local service implemented by the + * class starts. The method must have a void return value and no arguments. + * The annotated method must be public. The annotated method is called after + * all property and reference injection is complete. + *

+ * This method tests a proper init method i.e., public, no arguments and with + * void return type.
+ * Expected result: Method must be called. Method must be called after all property + * and reference injection is complete. + */ + @Test + public void atInitProper() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/proper/AService.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/proper").toURL().toString())); + node.start(); + AService aService = ((SCAClient)node).getService(AService.class, "AComponent"); + Assert.assertTrue(aService.isInitProper()); + Assert.assertEquals("Hello Pandu", aService.getGreetings("Pandu")); + node.stop(); + } + + /** + * Lines 1290, 1291, 1292, 1293
+ * The "@Init" annotation type is used to annotate a Java class method that + * is called when the scope defined for the local service implemented by the + * class starts. The method must have a void return value and no arguments. + * The annotated method must be public. The annotated method is called after + * all property and reference injection is complete. + *

+ * This method tests that an exception is thrown when a protected method is + * annotated with "@Init". + */ + @Test + public void atInitProtectedMethod() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + try { + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err1/AServiceErr1.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/err1").toURL().toString())); + Assert.fail(); + node.stop(); + } catch(ServiceRuntimeException e) { + //expected + Assert.assertNotSame(-1, e.getMessage().indexOf("Initializer must be a public method.")); + } + } + + /** + * Lines 1290, 1291, 1292, 1293
+ * The "@Init" annotation type is used to annotate a Java class method that + * is called when the scope defined for the local service implemented by the + * class starts. The method must have a void return value and no arguments. + * The annotated method must be public. The annotated method is called after + * all property and reference injection is complete. + *

+ * This method tests that an exception is thrown when a private method is + * annotated with "@Init". + */ + @Test + public void atInitPrivateMethod() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + try { + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err2/AServiceErr2.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/err2").toURL().toString())); + Assert.fail(); + node.stop(); + } catch(ServiceRuntimeException e) { + //expected + Assert.assertNotSame(-1, e.getMessage().indexOf("Initializer must be a public method.")); + } + } + + /** + * Lines 1290, 1291, 1292, 1293
+ * The "@Init" annotation type is used to annotate a Java class method that + * is called when the scope defined for the local service implemented by the + * class starts. The method must have a void return value and no arguments. + * The annotated method must be public. The annotated method is called after + * all property and reference injection is complete. + *

+ * This method tests that an exception is thrown when a method with non-void + * return type is annotated with "@Init". + */ + @Test + public void atInitNonVoidReturnType() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + try { + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err3/HelloWorldErr3.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/err3").toURL().toString())); + Assert.fail(); + node.stop(); + } catch(ServiceRuntimeException e) { + //expected + Assert.assertNotSame(-1, e.getMessage().indexOf("Initializer must return void.")); + } + } + + /** + * Lines 1290, 1291, 1292, 1293
+ * The "@Init" annotation type is used to annotate a Java class method that + * is called when the scope defined for the local service implemented by the + * class starts. The method must have a void return value and no arguments. + * The annotated method must be public. The annotated method is called after + * all property and reference injection is complete. + *

+ * This method tests that an exception is thrown when a method with arguments is + * annotated with "@Init". + */ + @Test + public void atInitMethodWithArgs() throws Exception { + SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); + try { + SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err4/HelloWorldErr4.composite").toURL().toString(), + new SCAContribution("TestContribution", + new File("src/main/resources/err4").toURL().toString())); + Assert.fail(); + node.stop(); + } catch(ServiceRuntimeException e) { + //expected + Assert.assertNotSame(-1, e.getMessage().indexOf("Initializer must not have argments")); + } + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/oneway/pom.xml b/java/sca-contrib/vtest/java-api/annotations/oneway/pom.xml new file mode 100644 index 0000000000..99f1420712 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/oneway/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-oneway + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @OneWay + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/AService.java b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/AService.java new file mode 100644 index 0000000000..b68cd53167 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/AService.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway; + +import org.oasisopen.sca.annotation.OneWay; + +/** + * Simple Remotable Service + */ +public interface AService { + + @OneWay + public void setNameOneWay(String name); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/BService.java b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/BService.java new file mode 100644 index 0000000000..1cb4f3adf5 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/BService.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway; + +/** + * Simple Local Service + */ +public interface BService { + + public void setNameOneWay(String name); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/AServiceImpl.java new file mode 100644 index 0000000000..d95ea22456 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/AServiceImpl.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + protected BService b; + + public void setNameOneWay(String name) { + b.setNameOneWay(name); + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/BServiceImpl.java new file mode 100644 index 0000000000..4f63a23429 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/BServiceImpl.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + String name; + + private void delay2Seconds() { + try { + Thread.sleep(2000);// millisecs + } catch (InterruptedException ex) { + throw new Error(ex); + } + } + + public void setNameOneWay(String name) { + delay2Seconds(); + this.name = name; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/resources/oneway.composite b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/resources/oneway.composite new file mode 100644 index 0000000000..47a7a98c7d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/oneway/src/main/resources/oneway.composite @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/oneway/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/OneWayAnnotationTestCase.java b/java/sca-contrib/vtest/java-api/annotations/oneway/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/OneWayAnnotationTestCase.java new file mode 100644 index 0000000000..f2fb8d0dc8 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/oneway/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/OneWayAnnotationTestCase.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * This test class tests the Service annotation described in section 1.2.1 and + * 1.8.17 + */ +public class OneWayAnnotationTestCase { + + protected static String compositeName = "oneway.composite"; + protected static AService aService = null; + protected static BService bService = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Line 384,385,386:
+ *

+ * Any method that returns "void" and has no declared exceptions may be + * marked with an "@OneWay" annotation. This means that the method is + * non-blocking and communication with the service provider may use a + * binding that buffers the requests and sends it at some later time. + *

+ * Line 1319, 1320:
+ *

+ * The "@OneWay" annotation type is used to annotate a Java interface method + * to indicate that invocations will be dispatched in a non-blocking fashion + * as described in the section on Asynchronous Programming.
+ *

+ * The serviceMethod on A is annotated with "@OneWay". The A implementation + * delegates to b's method which includes a 2 seconds delay. So, this will + * fail if the call to A is blocking. + */ + @Test(timeout = 500) + public void atOneWay1() throws Exception { + aService.setNameOneWay("Some Name"); + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/pom.xml b/java/sca-contrib/vtest/java-api/annotations/pom.xml new file mode 100644 index 0000000000..402ea03f7a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/pom.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-java-api + 2.0-SNAPSHOT + ../pom.xml + + java-api-annotations + pom + + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + + + + default + + true + + + reference + service + property + scope + init + destroy + oneway + conversational + conversationattributes + endsconversation + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/property/pom.xml b/java/sca-contrib/vtest/java-api/annotations/property/pom.xml new file mode 100644 index 0000000000..0c36e98879 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-property + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Property + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java new file mode 100644 index 0000000000..5cfea1b099 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java @@ -0,0 +1,82 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.property; + +/** + * Simple Service + */ +public interface AService { + + public String getName(); + + public String getP1(); + + public String getP2(); + + public String getP3(); + + public String getP4(); + + public String getP5(); + + public String getP6(); + + public String getP7AString(); + + public int getP7BInt(); + + public String getP8AString(); + + public int getP8BInt(); + + public String getP9AString(); + + public int getP9BInt(); + + public String getP10AString(); + + public int getP10BInt(); + + public String getP11AString(); + + public int getP11BInt(); + + public String getP12AString(); + + public int getP12BInt(); + + public String getP15(); + + public String getP16(); + + public String getP17(); + + public String getP18(); + + public int getP19Size(); + + public String getP20(int i); + + public int getP20Size(); + + public int getP21(int i); + + public int getP21Size(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java new file mode 100644 index 0000000000..5ddc59f8b6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.property; + +/** + * Simple Service + */ +public interface AnotherAService { + + public String getName(); + + public String getP13(); + + public String getP14(); + + public String getP22(); + + public String getP23(); + + public String getP24(); + + public String getP25(); + + public boolean getP14SetterIsCalled(); + + public boolean getP23SetterIsCalled(); + + public boolean getP24SetterIsCalled(); + + public boolean getP25SetterIsCalled(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java new file mode 100644 index 0000000000..c39d4e2504 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.property; + +import org.oasisopen.sca.annotation.Remotable; + + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + String getName(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java new file mode 100644 index 0000000000..5de3b5fcff --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.property; + + +/** + * Simple Service used by another service + */ +public interface CService { + + String getName(); + + public String getB1Name(); + + public String getP2(); + + public int getP3(); + + public String getP4(); + + public String getConstructor(); +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java new file mode 100644 index 0000000000..f30c4c69fc --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +/** + * A simple object to hold a string + */ +public class AObject { + + public String aString; + public int bInt; + + public AObject() { + this.aString = null; + this.bInt = 0; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java new file mode 100644 index 0000000000..6dd91b598d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java @@ -0,0 +1,240 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +import java.util.List; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.AService; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Property; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Property + protected String p1; // simple Java type injected via field + + @Property + public String p2; // simple Java type injected via field + + protected String p3; // simple Java type injected via setter + + public String p4; // simple Java type injected via setter + + protected String p5; // simple Java type injected via constructor parameter + + public String p6; // simple Java type injected via constructor parameter + + @Property(required=true) + protected AObject p7; // complex Java type injected via field + + @Property + public AObject p8; // complex Java type injected via field + + protected AObject p9; // complex Java type injected via setter + + public AObject p10; // complex Java type injected via setter + + protected AObject p11; // complex Java type injected via constructor parameter + + public AObject p12; // complex Java type injected via constructor parameter + + @Property(name="pFifteen") + protected String p15; // injected via field with different name + + protected String p16; // injected via setter with different name + + @Property(name="p17", required=false) + public String p17; // injected via field but not defined in composite + + public String p18; // injected via setter but not defined in composite + + @Property(name="p19", required=true) + public List p19; // a List and injected via field with no element + + public List p20; // a List and injected via setter + + @Property(required=false) + public Integer[] p21; // an array and injected via field + + public String getName() { + return "AService"; + } + + public AServiceImpl( + @Property(name = "p5") String p5, + @Property(name = "p6") String p6, + @Property(name = "p11") AObject p11, + @Property(name = "p12") AObject p12 + ) { + super(); + this.p5 = p5; + this.p6 = p6; + this.p11 = p11; + this.p12 = p12; + } + + @Property + public void setP3(String p3) { + this.p3 = p3; + } + + @Property(required=true) + public void setP4(String p4) { + this.p4 = p4; + } + + @Property + public void setP9(AObject p9) { + this.p9 = p9; + } + + @Property + public void setP10(AObject p10) { + this.p10 = p10; + } + + @Property(name="pSixteen") + public void setP16(String p16) { + this.p16 = p16; + } + + @Property(name="p18", required=false) + public void setP18(String p18) { + this.p18 = p18; + } + + @Property(name="p20", required=true) + public void setP20(List p20) { + this.p20 = p20; + } + + public String getP1() { + return p1; + } + + public String getP2() { + return p2; + } + + public String getP3() { + return p3; + } + + public String getP4() { + return p4; + } + + public String getP5() { + return p5; + } + + public String getP6() { + return p6; + } + + public String getP7AString() { + return p7.aString; + } + + public int getP7BInt() { + return p7.bInt; + } + + public String getP8AString() { + return p8.aString; + } + + public int getP8BInt() { + return p8.bInt; + } + + public String getP9AString() { + return p9.aString; + } + + public int getP9BInt() { + return p9.bInt; + } + + public String getP10AString() { + return p10.aString; + } + + public int getP10BInt() { + return p10.bInt; + } + + public String getP11AString() { + return p11.aString; + } + + public int getP11BInt() { + return p11.bInt; + } + + public String getP12AString() { + return p12.aString; + } + + public int getP12BInt() { + return p12.bInt; + } + + public String getP15() { + return p15; + } + + public String getP16() { + return p16; + } + + public String getP17() { + return p17; + } + + public String getP18() { + return p18; + } + + public int getP19Size() { + return p19.size(); + } + + public String getP20(int i) { + return p20.get(i); + } + + public int getP20Size() { + return p20.size(); + } + + public int getP21(int i) { + return p21[i].intValue(); + } + + public int getP21Size() { + return p21.length; + } + +} + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java new file mode 100644 index 0000000000..b6d51ef253 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java @@ -0,0 +1,116 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.AnotherAService; +import org.oasisopen.sca.annotation.Service; + +@Service(AnotherAService.class) +public class AnotherAServiceImpl implements AnotherAService { + + public String p13; // injected via field and un-annotated + + public String p14; // injected via setter and un-annotated + + protected String p22; // unannotated protected field should not be injected + + protected String p23; // un-annotated protected and has protected setter + + protected String p24; // un-annotated protected field and has public setter + + private String p25; // un-annotated private field and has public setter + + public boolean p14SetterIsCalled = false; + + public boolean p23SetterIsCalled = false; + + public boolean p24SetterIsCalled = false; + + public boolean p25SetterIsCalled = false; + + + public String getName() { + return "AService"; + } + + public void setP14(String p14) { + p14SetterIsCalled = true; + this.p14 = p14; + } + + protected void setP23(String p23) { + p23SetterIsCalled = true; + this.p23 = p23; + } + + public void setP24(String p24) { + p24SetterIsCalled = true; + this.p24 = p24; + } + + public void setP25(String p25) { + p25SetterIsCalled = true; + this.p25 = p25; + } + + public String getP13() { + return p13; + } + + public String getP14() { + return p14; + } + + public String getP22() { + return p22; + } + + public String getP23() { + return p23; + } + + public String getP24() { + return p24; + } + + public String getP25() { + return p25; + } + + public boolean getP14SetterIsCalled() { + return p14SetterIsCalled; + } + + + public boolean getP23SetterIsCalled() { + return p23SetterIsCalled; + } + + + public boolean getP24SetterIsCalled() { + return p24SetterIsCalled; + } + + + public boolean getP25SetterIsCalled() { + return p25SetterIsCalled; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java new file mode 100644 index 0000000000..d6a36f54a9 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java new file mode 100644 index 0000000000..ace9da2904 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java @@ -0,0 +1,87 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; +import org.oasisopen.sca.annotation.Constructor; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl1 implements CService { + + public BService b1; + + public String p2; + + public int p3; + + public String p4; + + public String constructor; + + @Constructor + public CServiceImpl1() { + constructor = "NoArgument"; + } + + public CServiceImpl1(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4) { + this.b1 = b1; + this.p2 = p2; + this.p3 = p3; + this.p4 = p4; + constructor = "AllArguments"; + } + + public CServiceImpl1(BService bOne, String pTwo, int pThree) { + this.b1 = bOne; + this.p2 = pTwo; + this.p3 = pThree; + constructor = "LessArguments"; + } + + public String getName() { + return "BService"; + } + + public String getB1Name() { + if (b1 == null) + return null; + return b1.getName(); + } + + public String getP2() { + return p2; + } + + public int getP3() { + return p3; + } + + public String getConstructor() { + return constructor; + } + + public String getP4() { + return p4; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java new file mode 100644 index 0000000000..4396b6ce32 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java @@ -0,0 +1,87 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; +import org.oasisopen.sca.annotation.Constructor; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl2 implements CService { + + public BService b1; + + public String p2; + + public int p3; + + public String p4; + + public String constructor; + + public CServiceImpl2() { + constructor = "NoArgument"; + } + + @Constructor() + public CServiceImpl2(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4) { + this.b1 = b1; + this.p2 = p2; + this.p3 = p3; + this.p4 = p4; + constructor = "AllArguments"; + } + + public CServiceImpl2(BService bOne, String pTwo, int pThree) { + this.b1 = bOne; + this.p2 = pTwo; + this.p3 = pThree; + constructor = "LessArguments"; + } + + public String getName() { + return "BService"; + } + + public String getB1Name() { + if (b1 == null) + return null; + return b1.getName(); + } + + public String getP2() { + return p2; + } + + public int getP3() { + return p3; + } + + public String getConstructor() { + return constructor; + } + + public String getP4() { + return p4; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java new file mode 100644 index 0000000000..cd459f2dd1 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java @@ -0,0 +1,87 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; +import org.oasisopen.sca.annotation.Constructor; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl3 implements CService { + + public BService b1; + + public String p2; + + public int p3; + + public String p4; + + public String constructor; + + public CServiceImpl3() { + constructor = "NoArgument"; + } + + @Constructor({"bOne", "pTwo", "pThree", "pFour"}) + public CServiceImpl3(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4) { + this.b1 = b1; + this.p2 = p2; + this.p3 = p3; + this.p4 = p4; + constructor = "AllArguments"; + } + + public CServiceImpl3(BService bOne, String pTwo, int pThree) { + this.b1 = bOne; + this.p2 = pTwo; + this.p3 = pThree; + constructor = "LessArguments"; + } + + public String getName() { + return "BService"; + } + + public String getB1Name() { + if (b1 == null) + return null; + return b1.getName(); + } + + public String getP2() { + return p2; + } + + public int getP3() { + return p3; + } + + public String getConstructor() { + return constructor; + } + + public String getP4() { + return p4; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java new file mode 100644 index 0000000000..c22ee08f95 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java @@ -0,0 +1,88 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; +import org.oasisopen.sca.annotation.Constructor; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl4 implements CService { + + public BService b1; + + public String p2; + + public int p3; + + public String p4; + + public String constructor; + + public CServiceImpl4() { + constructor = "NoArgument"; + } + + public CServiceImpl4(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4, int extra) { + this.b1 = b1; + this.p2 = p2; + this.p3 = p3; + this.p4 = p4; + constructor = "ExtraArguments"; + } + + @Constructor({"bOne", "pTwo", "pThree", "pFour"}) + public CServiceImpl4(BService bOne, String pTwo, int pThree, String pFour) { + this.b1 = bOne; + this.p2 = pTwo; + this.p3 = pThree; + this.p4 = pFour; + constructor = "AllArguments"; + } + + public String getName() { + return "BService"; + } + + public String getB1Name() { + if (b1 == null) + return null; + return b1.getName(); + } + + public String getP2() { + return p2; + } + + public int getP3() { + return p3; + } + + public String getConstructor() { + return constructor; + } + + public String getP4() { + return p4; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java new file mode 100644 index 0000000000..02892ca7f3 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java @@ -0,0 +1,88 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; +import org.oasisopen.sca.annotation.Constructor; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl5 implements CService { + + public BService b1; + + public String p2; + + public int p3; + + public String p4; + + public String constructor; + + public CServiceImpl5() { + constructor = "NoArgument"; + } + + public CServiceImpl5(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4, int extra) { + this.b1 = b1; + this.p2 = p2; + this.p3 = p3; + this.p4 = p4; + constructor = "ExtraArguments"; + } + + @Constructor({"bOne", "pFour", "pThree", "pTwo"}) + public CServiceImpl5(BService bOne, String pTwo, int pThree, String pFour) { + this.b1 = bOne; + this.p2 = pTwo; + this.p3 = pThree; + this.p4 = pFour; + constructor = "SwitchedValues"; + } + + public String getName() { + return "BService"; + } + + public String getB1Name() { + if (b1 == null) + return null; + return b1.getName(); + } + + public String getP2() { + return p2; + } + + public int getP3() { + return p3; + } + + public String getConstructor() { + return constructor; + } + + public String getP4() { + return p4; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java new file mode 100644 index 0000000000..ed2c3dc365 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java @@ -0,0 +1,88 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; +import org.oasisopen.sca.annotation.Constructor; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl6 implements CService { + + public BService b1; + + public String p2; + + public int p3; + + public String p4; + + public String constructor; + + public CServiceImpl6() { + constructor = "NoArgument"; + } + + public CServiceImpl6(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4, int extra) { + this.b1 = b1; + this.p2 = p2; + this.p3 = p3; + this.p4 = p4; + constructor = "ExtraArguments"; + } + + @Constructor({"bOne", "pTwo", "pThree", "pWrong"}) + public CServiceImpl6(BService bOne, String pTwo, int pThree, String pFour) { + this.b1 = bOne; + this.p2 = pTwo; + this.p3 = pThree; + this.p4 = pFour; + constructor = "WrongValues"; + } + + public String getName() { + return "BService"; + } + + public String getB1Name() { + if (b1 == null) + return null; + return b1.getName(); + } + + public String getP2() { + return p2; + } + + public int getP3() { + return p3; + } + + public String getConstructor() { + return constructor; + } + + public String getP4() { + return p4; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/main/resources/property.composite b/java/sca-contrib/vtest/java-api/annotations/property/src/main/resources/property.composite new file mode 100644 index 0000000000..f7af170f33 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/main/resources/property.composite @@ -0,0 +1,143 @@ + + + + + + + p1 + p2 + p3 + p4 + p5 + p6 + + + p7.aString + 7 + + + + + p8.aString + 8 + + + + + p9.aString + 9 + + + + + p10.aString + 10 + + + + + p11.aString + 11 + + + + + p12.aString + 12 + + + p15 + p16 + + "p20" + 2 1 21 + + + + + + p2 + 3 + p4 + + + + + + p2 + 3 + p4 + + + + + + p2 + 3 + p4 + + + + + + p2 + 3 + p4 + + + + + + p2 + 3 + p4 + + + + + + p2 + 3 + p4 + + + + + + + + + p13 + p14 + p22 + p23 + p24 + p25 + + diff --git a/java/sca-contrib/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java b/java/sca-contrib/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java new file mode 100644 index 0000000000..d5fbc568f7 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java @@ -0,0 +1,299 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.property; + +import static org.junit.Assert.fail; +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * This test class tests the Property annotation described in section 1.2.3 + * including 1.8.5 and 1.8.13 + */ +public class PropertyAnnotationTestCase { + + protected static String compositeName = "property.composite"; + protected static AService aService = null; + protected static CService cService1 = null; + protected static CService cService2 = null; + protected static CService cService3 = null; + protected static CService cService4 = null; + protected static CService cService5 = null; + protected static CService cService6 = null; + protected static AnotherAService anotherAService = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + cService1 = ServiceFinder.getService(CService.class, "CComponent1"); + cService2 = ServiceFinder.getService(CService.class, "CComponent2"); + cService3 = ServiceFinder.getService(CService.class, "CComponent3"); + cService4 = ServiceFinder.getService(CService.class, "CComponent4"); + cService5 = ServiceFinder.getService(CService.class, "CComponent5"); + cService6 = ServiceFinder.getService(CService.class, "CComponent6"); + anotherAService = ServiceFinder.getService(AnotherAService.class, "AnotherAComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + + } + + /** + * Lines 1343 to 1348:
+ * The "@Property" annotation type is used to annotate a Java class field or + * a setter method that is used to inject an SCA property value. The type of + * the property injected, which can be a simple Java type or a complex Java + * type, is defined by the type of the Java class field or the type of the + * setter method input argument.
+ * The "@Property" annotation may be used on protected or public fields and + * on setter methods or on a constructor method.
+ *

+ * p1 - simple Java type injected via field
+ * p2 - simple Java type injected via field
+ * p3 - simple Java type injected via setter
+ * p4 - simple Java type injected via setter and required=true
+ * p5 - simple Java type injected via constructor parameter
+ * p6 - simple Java type injected via constructor parameter
+ * p7 - complex Java type injected via field and required=true
+ * p8 - complex Java type injected via field
+ * p9 - complex Java type injected via setter
+ * p10 - complex Java type injected via setter
+ * p11 - complex Java type injected via constructor parameter
+ * p12 - complex Java type injected via constructor parameter
+ */ + @Test + public void atProperty1() throws Exception { + Assert.assertEquals("p1", aService.getP1()); + Assert.assertEquals("p2", aService.getP2()); + Assert.assertEquals("p3", aService.getP3()); + Assert.assertEquals("p4", aService.getP4()); + Assert.assertEquals("p5", aService.getP5()); + Assert.assertEquals("p6", aService.getP6()); + Assert.assertEquals("p7.aString", aService.getP7AString()); + Assert.assertEquals(7, aService.getP7BInt()); + Assert.assertEquals("p8.aString", aService.getP8AString()); + Assert.assertEquals(8, aService.getP8BInt()); + Assert.assertEquals("p9.aString", aService.getP9AString()); + Assert.assertEquals(9, aService.getP9BInt()); + Assert.assertEquals("p10.aString", aService.getP10AString()); + Assert.assertEquals(10, aService.getP10BInt()); + Assert.assertEquals("p11.aString", aService.getP11AString()); + Assert.assertEquals(11, aService.getP11BInt()); + Assert.assertEquals("p12.aString", aService.getP12AString()); + Assert.assertEquals(12, aService.getP12BInt()); + } + + /** + * Lines 1349 to 1352:
+ * Properties may also be injected via public setter methods even when the + * "@Property" annotation is not present. However, the + * + * @Property annotation must be used in order to inject a property onto a + * non-public field. In the case where there is no "@Property" + * annotation, the name of the property is the same as the name of + * the field or setter.
+ *

+ * p13 is an un-annotated public field which should be injected + * via field
+ */ + @Test + public void atProperty2() throws Exception { + Assert.assertEquals("p13", anotherAService.getP13()); + } + + /** + * Line 1353:
+ * Where there is both a setter method and a field for a property, the + * setter method is used.
+ *

+ * p14 is an un-annotated public field, it should be injected via public + * setter
+ */ + @Test + public void atProperty3() throws Exception { + Assert.assertEquals("p14", anotherAService.getP14()); + Assert.assertTrue(anotherAService.getP14SetterIsCalled()); + } + + /** + * Lines 1355 to 1357:
+ * The "@Property" annotation has the following attributes:
+ *

  • name (optional) – the name of the property, defaults to the name of + * the field of the Java class
  • + *
  • required (optional) – specifies whether injection is required, + * defaults to false
  • + *

    + * p15 - injected via field with different name "pFifteen"
    + * p16 - injected via setter with different name "pSixteen"
    + * p17 - injected via field but not defined in composite
    + * p18 - injected via setter but not defined in composite
    + * + * @TODO - Need to test required=true but not defined in composite (The + * specification does not describe the proper behaviour in this + * situation.) + */ + @Test + public void atProperty4() throws Exception { + Assert.assertEquals("p15", aService.getP15()); + Assert.assertEquals("p16", aService.getP16()); + Assert.assertNull(aService.getP17()); + Assert.assertNull(aService.getP18()); + } + + /** + * Lines 1369 to 1370:
    + * If the property is defined as an array or as a java.util.Collection, then + * the implied component type has a property with a many attribute set to + * true.
    + *

    + * p19 - a List and injected via field with no element
    + * p20 - a List and injected via setter
    + * p21 - an array and injected via field
    + */ + @Test + public void atProperty5() throws Exception { + Assert.assertEquals(0, aService.getP19Size()); + Assert.assertEquals(1, aService.getP20Size()); + Assert.assertEquals("p20", aService.getP20(0)); + Assert.assertEquals(3, aService.getP21Size()); + Assert.assertEquals(2, aService.getP21(0)); + Assert.assertEquals(1, aService.getP21(1)); + Assert.assertEquals(21, aService.getP21(2)); + } + + /** + * Lines 1141 to 1162:
    + * 1.8.5. "@Constructor"
    + * ...
    + * The "@Constructor" annotation is used to mark a particular constructor to + * use when instantiating a Java component implementation.
    + * The "@Constructor" annotation has the following attribute:
    + *

  • value (optional) – identifies the property/reference names that + * correspond to each of the constructor arguments. The position in the + * array determines which of the arguments are being named.
  • + *

    + * cService1 - "@Constructor" without value and constructor arguments
    + * cService2 - "@Constructor" without value but with constructor arguments
    + * cService3 - "@Constructor" with values and constructor arguments
    + * cService4 - "@Constructor" with values and constructor arguments where + * value, property and parameter names are same
    + * cService5 - "@Constructor" with switched values and constructor arguments
    + * cService6 - "@Constructor" with wrong values
    + */ + @Test + public void atProperty6() throws Exception { + Assert.assertNull(cService1.getB1Name()); + Assert.assertNull(cService1.getP2()); + Assert.assertEquals(0, cService1.getP3()); + Assert.assertNull(cService1.getP4()); + Assert.assertEquals("NoArgument", cService1.getConstructor()); + + Assert.assertEquals("BService", cService2.getB1Name()); + Assert.assertEquals("p2", cService2.getP2()); + Assert.assertEquals(3, cService2.getP3()); + Assert.assertEquals("p4", cService2.getP4()); + Assert.assertEquals("AllArguments", cService2.getConstructor()); + + Assert.assertEquals("BService", cService3.getB1Name()); + Assert.assertEquals("p2", cService3.getP2()); + Assert.assertEquals(3, cService3.getP3()); + Assert.assertEquals("p4", cService3.getP4()); + Assert.assertEquals("AllArguments", cService3.getConstructor()); + + Assert.assertEquals("BService", cService4.getB1Name()); + Assert.assertEquals("p2", cService4.getP2()); + Assert.assertEquals(3, cService4.getP3()); + Assert.assertEquals("p4", cService4.getP4()); + Assert.assertEquals("AllArguments", cService4.getConstructor()); + + Assert.assertEquals("BService", cService5.getB1Name()); + Assert.assertEquals("p4", cService5.getP2()); + Assert.assertEquals(3, cService5.getP3()); + Assert.assertEquals("p2", cService5.getP4()); + Assert.assertEquals("SwitchedValues", cService5.getConstructor()); + + try { + System.out.println(cService6.getB1Name()); + fail("Should have failed to call this service"); + } catch (Throwable t) { + } + + } + + /** + * Lines 1349 to 1352:
    + * 1.8.13. "@Property"
    + * ...
    + * Properties may also be injected via public setter methods even when the + * "@Property" annotation is not present. However, the "@Property" + * annotation must be used in order to inject a property onto a non-public + * field. In the case where there is no "@Property" annotation, the name of + * the property is the same as the name of the field or setter. + *

    + * p22 is unannotated protected field which should not be injected p23 is + * un-annotated protected which should not be injected via protected setter
    + */ + @Test + @Ignore("JIRA-2289 - p23 failed") + public void atProperty7() throws Exception { + Assert.assertNull(anotherAService.getP22()); + Assert.assertNull(anotherAService.getP23()); + Assert.assertFalse(anotherAService.getP23SetterIsCalled()); + } + + /** + * Lines 1349 to 1352:
    + * 1.8.13. "@Property"
    + * ...
    + * Properties may also be injected via public setter methods even when the + * "@Property" annotation is not present. However, the "@Property" + * annotation must be used in order to inject a property onto a non-public + * field. In the case where there is no "@Property" annotation, the name of + * the property is the same as the name of the field or setter. + *

    + * p24 is un-annotated protected field which should be injected via public + * setter
    + * p25 is un-annotated private field which should be injected via public + * setter
    + */ + @Test + public void atProperty8() throws Exception { + Assert.assertEquals("p24", anotherAService.getP24()); + Assert.assertTrue(anotherAService.getP24SetterIsCalled()); + Assert.assertEquals("p25", anotherAService.getP25()); + Assert.assertTrue(anotherAService.getP25SetterIsCalled()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/reference/pom.xml b/java/sca-contrib/vtest/java-api/annotations/reference/pom.xml new file mode 100644 index 0000000000..5e88742f3e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/reference/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-reference + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Reference + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java new file mode 100644 index 0000000000..b28704a3b4 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.reference; + + +/** + * Simple Service that uses another Service + */ +public interface AService { + + public String getName(); + public String getB1Name(); + public String getB2Name(); + public String getB3Name(); + public String getB4Name(); + public String getB5Name(); + public String getB6Name(); + public String getB7Name(); + public String getB8Name(); + public String getB9Name(); + public String getB10Name(); + public String getB11Name(); + public String getB12Name(); + public String getB13Name(int i); + public String getB14Name(int i); + public String getB15Name(int i); + + public int getB13Size(); + public int getB14Size(); + public int getB15Size(); + + public boolean isB7SetterCalled(); + public boolean isB16Null(); + public boolean isB17Null(); + + public boolean isB4Null(); + public boolean isB5Null(); + public boolean isB6Null(); +} diff --git a/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/BService.java b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/BService.java new file mode 100644 index 0000000000..04c0bc377e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/BService.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.reference; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + String getName(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java new file mode 100644 index 0000000000..60e2b2408c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java @@ -0,0 +1,215 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl; + +import java.util.List; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + protected BService b1; // field injection + + protected BService b2; // injected via constructor parameter + + protected BService b3; // setter injection + + public BService b4; // field injection (public, un-annotated) + + protected BService b5; // field injection (non-public, un-annotated) + + public BService b6; // setter injection (public, un-annotated) + + @Reference + protected BService b7; // setter injection (field and setter annotated) + + @Reference(name="b8", required=false) + protected BService bEight; // field injection (different reference and field name) + + protected BService bNine; // setter injection (different reference and field name) + + @Reference(required=false) + protected BService b10; // multiplicity="0..1" and required=false + + @Reference(required=false) + protected BService b11; // multiplicity="1..1" and required=false + + protected BService b12; // multiplicity="1..1" and required=true at setter + + @Reference(required=false) + protected List b13; // multiplicity="0..n" and required=false + + protected List b14; // multiplicity="1..n" and required=false at setter + + @Reference(name="b15", required=true) + protected BService[] b15s; // multiplicity="1..n" and required=true + + @Reference(required=false) + protected BService b16; + + @Reference(required=false) + public BService b17; + + protected boolean b7SetterCalled; + + public AServiceImpl(@Reference(name = "b2") + BService b2) { + super(); + this.b2 = b2; + b7SetterCalled = false; + } + + @Reference + public void setB3(BService b3) { + this.b3 = b3; + } + + public void setB6(BService b6) { + this.b6 = b6; + } + + @Reference + public void setB7(BService b7) { + b7SetterCalled = true; + this.b7 = b7; + } + + @Reference(name="b9", required=false) + public void setB9(BService bNine) { + this.bNine = bNine; + } + + @Reference(required=true) + public void setB12(BService b12) { + this.b12 = b12; + } + + @Reference(required=true) + public void setB14(List b14) { + this.b14 = b14; + } + + public String getName() { + return "AService"; + } + + public String getB1Name() { + return b1.getName(); + } + + public String getB2Name() { + return b2.getName(); + } + + public String getB3Name() { + return b3.getName(); + } + + public String getB4Name() { + return b4.getName(); + } + + public String getB5Name() { + return b5.getName(); + } + + public String getB6Name() { + return b6.getName(); + } + + public String getB7Name() { + return b7.getName(); + } + + public String getB8Name() { + return bEight.getName(); + } + + public String getB9Name() { + return bNine.getName(); + } + + public String getB10Name() { + return b10.getName(); + } + + public String getB11Name() { + return b11.getName(); + } + + public String getB12Name() { + return b12.getName(); + } + + public String getB13Name(int i) { + BService b = (BService) b13.get(i); + return b.getName(); + } + + public String getB14Name(int i) { + BService b = (BService) b14.get(i); + return b.getName(); + } + + public String getB15Name(int i) { + return b15s[i].getName(); + } + + public int getB13Size() { + return b13.size(); + } + + public int getB14Size() { + return b14.size(); + } + + public int getB15Size() { + return b15s.length; + } + + public boolean isB7SetterCalled() { + return b7SetterCalled; + } + + public boolean isB16Null() { + return b16 == null; + } + + public boolean isB17Null() { + return b17 == null; + } + + public boolean isB4Null() { + return b4 == null; + } + + public boolean isB5Null() { + return b5 == null; + } + + public boolean isB6Null() { + return b6 == null; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java new file mode 100644 index 0000000000..20fccf807f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java @@ -0,0 +1,141 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AUnannotatedServiceImpl implements AService { + + public BService b4; // field injection (public, un-annotated) + + protected BService b5; // field injection (non-public, un-annotated) + + public BService b6; // setter injection (public, un-annotated) + + public AUnannotatedServiceImpl() { + } + + public String getName() { + return "AService"; + } + + public String getB4Name() { + return b4.getName(); + } + + public String getB5Name() { + return b5.getName(); + } + + public void setB6(BService b6) { + this.b6 = b6; + } + + public String getB6Name() { + return b6.getName(); + } + + public String getB1Name() { + return null; + } + + public String getB2Name() { + return null; + } + + public String getB3Name() { + return null; + } + + public String getB7Name() { + return null; + } + + public String getB8Name() { + return null; + } + + public String getB9Name() { + return null; + } + + public boolean isB7SetterCalled() { + return false; + } + + public String getB10Name() { + return null; + } + + public String getB11Name() { + return null; + } + + public String getB12Name() { + return null; + } + + public String getB13Name(int i) { + return null; + } + + public int getB13Size() { + return 0; + } + + public String getB14Name(int i) { + return null; + } + + public int getB14Size() { + return 0; + } + + public String getB15Name(int i) { + return null; + } + + public int getB15Size() { + return 0; + } + + public boolean isB16Null() { + return true; + } + + public boolean isB17Null() { + return true; + } + + public boolean isB4Null() { + return b4 == null; + } + + public boolean isB5Null() { + return b5 == null; + } + + public boolean isB6Null() { + return b6 == null; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/BServiceImpl.java new file mode 100644 index 0000000000..c7fc91e65f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/BServiceImpl.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/reference/src/main/resources/ab.composite b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/resources/ab.composite new file mode 100644 index 0000000000..b4ad1e77d5 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/reference/src/main/resources/ab.composite @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java b/java/sca-contrib/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java new file mode 100644 index 0000000000..1fe50b4ea7 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java @@ -0,0 +1,229 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.reference; + +import static org.junit.Assert.fail; +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * This test class tests the "@Reference" annotation described in section 1.8.14 + */ +public class ReferenceAnnotationTestCase { + + protected static String compositeName = "ab.composite"; + protected static AService a; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a = ServiceFinder.getService(AService.class, "AComponent"); + + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Temporary test unrelated to spec test effort. Remove after resolution of + */ + @Test + @Ignore + // JIRA T-2145 + public void bogusComponentName() throws Exception { + ServiceFinder.init(compositeName); + try { + AService a = ServiceFinder.getService(AService.class, "AReallyBogusComponentName"); + if (a == null) + fail("Should have thrown an exception rather than return null"); + else + fail("Should have thrown an exception rather than return a proxy"); + } finally { + ServiceFinder.cleanup(); + } + + } + + /** + * Lines 1404, 1405, 1406
    + * The "@Reference" annotation type is used to annotate a Java class field + * or a setter method that is used to inject a service that resolves the + * reference. The interface of the service injected is defined by the type + * of the Java class field or the type of the setter method input argument. + *

    + * This tests the use of the three usages of the "@Reference" annotation
    + * B1 is injected via field injection
    + * B2 is injected via constructor parameter
    + * B3 is injected via setter method + */ + @Test + public void atReference1() throws Exception { + + Assert.assertEquals("BService", a.getB1Name()); + Assert.assertEquals("BService", a.getB2Name()); + Assert.assertEquals("BService", a.getB3Name()); + + } + + /** + * Lines 1407, 1408, 1409, 1410
    + * References may also be injected via public setter methods even when the + * "@Reference" annotation is not present. However, the "@Reference" + * annotation must be used in order to inject a reference onto a non public + * field. In the case where there is no "@Reference" annotation, the name of + * the reference is the same as the name of the field or setter. + *

    + * B4 is injected via field injection. Public, Non-annotated
    + * B5 is expected to fail field injection. Non-Public, Non-Annotated
    + * B6 is injected via setter injection. Public, Non-Annotated + */ + @Test + public void atReference2() throws Exception { + AService anotherA = ServiceFinder.getService(AService.class, "AUnannotatedComponent"); + + Assert.assertFalse(anotherA.isB4Null()); + Assert.assertTrue(anotherA.isB5Null()); + Assert.assertFalse(anotherA.isB6Null()); + + Assert.assertEquals("BService", anotherA.getB4Name()); + try { + anotherA.getB5Name(); + fail("getB5Name expected to fail with NPE"); + } catch (NullPointerException e) { + } + Assert.assertEquals("BService", anotherA.getB6Name()); + + } + + /** + * Lines 1411
    + * Where there is both a setter method and a field for a reference, the + * setter method is used. + *

    + * B7 has both field and setter annotated. The setter must be called + */ + @Test + public void atReference3() throws Exception { + Assert.assertTrue(a.isB7SetterCalled()); + } + + /** + * Lines 1413, 1414, 1415
    + * The "@Reference" annotation has the following attributes:
    • name + * (optional) – the name of the reference, defaults to the name of the field + * of the Java class
    + * required (optional) – whether injection of service or services is + * required. Defaults to true. + *

    + * Reference and field have different names
    + * B8 is field injected
    + * B9 is setter injected + */ + @Test + public void atReference4() throws Exception { + Assert.assertEquals("BService", a.getB8Name()); + Assert.assertEquals("BService", a.getB9Name()); + } + + /** + * Lines 1457 to 1459
    + * If the reference is not an array or collection, then the implied + * component type has a reference with a multiplicity of either 0..1 or 1..1 + * depending on the value of the + * + * @Reference required attribute – 1..1 applies if required=true.
    + *

    + * B10 is field injected, required=false, and multiplicity="0..1"
    + * B11 is field injected, required=false, and multiplicity="1..1"
    + * B12 is setter injected, required=true, and multiplicity="1..1" + */ + @Test + public void atReference5() throws Exception { + Assert.assertEquals("BService", a.getB10Name()); + Assert.assertEquals("BService", a.getB11Name()); + Assert.assertEquals("BService", a.getB12Name()); + } + + /** + * Lines 1461 to 1463
    + * If the reference is defined as an array or as a java.util.Collection, + * then the implied component type has a reference with a multiplicity of + * either 1..n or 0..n, depending on whether the required attribute of the + * "@Reference" annotation is set to true or false – 1..n applies if + * required=true.
    + *

    + * B13 is a java.util.List, field injected, required=false, + * multiplicity="0..n", and no target
    + * B14 is a java.util.List, setter injected, required=true, + * multiplicity="1..n", and one target
    + * B15 is an array, field injected, required=true, multiplicity="1..n", and + * two targets + */ + @Test + public void atReference6() throws Exception { + Assert.assertEquals(0, a.getB13Size()); + Assert.assertEquals("BService", a.getB14Name(0)); + Assert.assertEquals(1, a.getB14Size()); + Assert.assertEquals("BService", a.getB15Name(0)); + Assert.assertEquals("BService", a.getB15Name(1)); + Assert.assertEquals(2, a.getB15Size()); + } + + /** + * Lines 1415
    + * required (optional) - whether injection of service or services is + * required. Defaults to true. + *

    + * b16 and b17 is defined as "@Reference(required=false)" and AComponent + * does not define reference for them + */ + @Test + public void atReference7() throws Exception { + Assert.assertTrue(a.isB16Null()); + Assert.assertTrue(a.isB17Null()); + } + + /** + * Java Component Implementation Spec + * Section 1.2.7 + * Line 361 when @Property and @Reference annotations are present + * then unannotated fields are ignored + */ + @Test + public void atReference8() throws Exception { + Assert.assertTrue(a.isB4Null()); + Assert.assertTrue(a.isB5Null()); + Assert.assertTrue(a.isB6Null()); + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/pom.xml b/java/sca-contrib/vtest/java-api/annotations/scope/pom.xml new file mode 100644 index 0000000000..8a905a7ebc --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-scope + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Scope + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/AService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/AService.java new file mode 100644 index 0000000000..b7cf3fba71 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/AService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + + +/** + * Simple Service + */ +public interface AService { + + public String getName(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/BService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/BService.java new file mode 100644 index 0000000000..7da9d29424 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/BService.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +/** + * Simple Service + */ +public interface BService { + + public String getName(); + + public boolean isInitReady(); + + public String getCurrentState(); + + public String setCurrentState(String currentState); + + public int getDestroyCalledCounter(); + + public int getInitCalledCounter(); + + public int getInstanceCounter(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/CService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/CService.java new file mode 100644 index 0000000000..208c6a78b0 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/CService.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +/** + * Simple Service + */ +public interface CService { + + public String getName(); + + public boolean isInitReady(); + + public String getCurrentState(); + + public String setCurrentState(String currentState); + + public int getDestroyCalledCounter(); + + public int getInitCalledCounter(); + + public int getInstanceCounter(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/DService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/DService.java new file mode 100644 index 0000000000..f9b87ad251 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/DService.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface DService { + + public String getName(); + + public boolean isInitReady(); + + public String getCurrentState(); + + public String setCurrentState(String currentState); + + public int getDestroyCalledCounter(); + + public int getInitCalledCounter(); + + public int getInstanceCounter(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/FService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/FService.java new file mode 100644 index 0000000000..0e4ed9c18d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/FService.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface FService { + + public String getName(); + + public boolean isInitReady(); + + public String getCurrentState(); + + public String setCurrentState(String currentState); + + public int getDestroyCalledCounter(); + + public int getInitCalledCounter(); + + public int getInstanceCounter(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/GService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/GService.java new file mode 100644 index 0000000000..566dc93e6d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/GService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface GService { + + public String getName(); + + public int getInitCalledCounter(); + + public int getDestroyCalledCounter(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/HService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/HService.java new file mode 100644 index 0000000000..714b3ce8f4 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/HService.java @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + + +/** + * Simple Service + */ +@Remotable +public interface HService { + + public String getName(); + + public String test(); + + public String testCounters(int n); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/IService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/IService.java new file mode 100644 index 0000000000..88cf95b593 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/IService.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.EndsConversation; + +/** + * Simple Service + */ +@Conversational +public interface IService { + + public String getName(); + + public boolean isInitReady(); + + public String getCurrentState(); + + public String getConversationId(); + + public String setCurrentState(String currentState); + + public int getDestroyCalledCounter(); + + public int getInitCalledCounter(); + + public int getInstanceCounter(); + + @EndsConversation + public void endConversation(); +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/JService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/JService.java new file mode 100644 index 0000000000..ea974100ab --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/JService.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface JService { + + public String getName(); + + public String getFailedReason(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/KService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/KService.java new file mode 100644 index 0000000000..454009da12 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/KService.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface KService { + + public String getName(); + + public String callL1(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/LService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/LService.java new file mode 100644 index 0000000000..2910b1c81c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/LService.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface LService { + + public String getName(); + + public String getCurrentState(); + + public String setCurrentState(String currentState); + + public int getDestroyCalledCounter(); + + public int getInitCalledCounter(); + + public int getInstanceCounter(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/MService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/MService.java new file mode 100644 index 0000000000..81d0692d7a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/MService.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface MService { + + public String getName(); + + public String getFailedReason(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/NService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/NService.java new file mode 100644 index 0000000000..3493a88206 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/NService.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface NService { + + public String getName(); + + public String callO1(int nthTime); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/OService.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/OService.java new file mode 100644 index 0000000000..982568b236 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/OService.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface OService { + + public String getName(); + + public String getCurrentState(); + + public String setCurrentState(String currentState); + + public int getDestroyCalledCounter(); + + public int getInitCalledCounter(); + + public int getInstanceCounter(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/AServiceImpl.java new file mode 100644 index 0000000000..f7a57941dc --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/AServiceImpl.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + public String getName() { + return "AService"; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/BServiceImpl.java new file mode 100644 index 0000000000..29d6284c43 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/BServiceImpl.java @@ -0,0 +1,112 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.BService; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Destroy; + +@Service(BService.class) +public class BServiceImpl implements BService { + + private static int instanceCounter = 0; + + private static int initCalledCounter = 0; + + private static int destroyCalledCounter = 0; + + public AService a1; + + public String p1; + + private int currentInstanceId = 0; + + public String currentState = null; + + private boolean isInitReady = false; + + public BServiceImpl() { + currentInstanceId = ++instanceCounter; + isInitReady = false; + } + + @Reference + public void setA1(AService a1) { + this.a1 = a1; + } + + @Property + public void setP1(String p1) { + this.p1 = p1; + } + + @Init + public void initBService() throws Exception { + initCalledCounter++; + if (p1.equals("p1") && a1.getName().equals("AService")) + isInitReady = true; + } + + @Destroy + public void destroyBService() { + destroyCalledCounter++; + } + + public String getName() { + return "BService" + currentInstanceId; + } + + public AService getA1() { + return a1; + } + + public String getP1() { + return p1; + } + + public String getCurrentState() { + return currentState; + } + + public String setCurrentState(String currentState) { + this.currentState = currentState; + return this.currentState; + } + + public boolean isInitReady() { + return isInitReady; + } + + public int getDestroyCalledCounter() { + return destroyCalledCounter; + } + + public int getInitCalledCounter() { + return initCalledCounter; + } + + public int getInstanceCounter() { + return instanceCounter; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/CServiceImpl.java new file mode 100644 index 0000000000..037d900176 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/CServiceImpl.java @@ -0,0 +1,114 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.CService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(CService.class) +@Scope("STATELESS") +public class CServiceImpl implements CService { + + public static int instanceCounter = 0; + + public static int initCalledCounter = 0; + + public static int destroyCalledCounter = 0; + + public AService a1; + + public String p1; + + public int currentInstanceId = 0; + + public String currentState = null; + + public boolean isInitReady = false; + + public CServiceImpl() { + currentInstanceId = ++instanceCounter; + isInitReady = false; + } + + @Reference + public void setA1(AService a1) { + this.a1 = a1; + } + + @Property + public void setP1(String p1) { + this.p1 = p1; + } + + @Init + public void initCService() throws Exception { + initCalledCounter++; + if (p1.equals("p1") && a1.getName().equals("AService")) + isInitReady = true; + } + + @Destroy + public void destroyCService() { + destroyCalledCounter++; + } + + public String getName() { + return "CService" + currentInstanceId; + } + + public AService getA1() { + return a1; + } + + public String getP1() { + return p1; + } + + public String getCurrentState() { + return currentState; + } + + public String setCurrentState(String currentState) { + this.currentState = currentState; + return this.currentState; + } + + public boolean isInitReady() { + return isInitReady; + } + + public int getDestroyCalledCounter() { + return destroyCalledCounter; + } + + public int getInitCalledCounter() { + return initCalledCounter; + } + + public int getInstanceCounter() { + return instanceCounter; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/DServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/DServiceImpl.java new file mode 100644 index 0000000000..d5f1326086 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/DServiceImpl.java @@ -0,0 +1,116 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.DService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(DService.class) +@Scope("REQUEST") +public class DServiceImpl implements DService { + + public static int instanceCounter = 0; + + public static int initCalledCounter = 0; + + public static int destroyCalledCounter = 0; + + public AService a1; + + public String p1; + + public int currentInstanceId = 0; + + public String currentState = null; + + public boolean isInitReady = false; + + public DServiceImpl() { + currentInstanceId = ++instanceCounter; + isInitReady = false; + } + + @Reference + public void setA1(AService a1) { + this.a1 = a1; + } + + @Property + public void setP1(String p1) { + this.p1 = p1; + } + + @Init + public void initDService() throws Exception { + initCalledCounter++; + if (p1.equals("p1") && a1.getName().equals("AService")) + isInitReady = true; + System.out.println("DService" + currentInstanceId + "->initDService"); + } + + @Destroy + public void destroyDService() { + destroyCalledCounter++; + System.out.println("DService" + currentInstanceId + "->destroyDService"); + } + + public String getName() { + return "DService" + currentInstanceId; + } + + public AService getA1() { + return a1; + } + + public String getP1() { + return p1; + } + + public String getCurrentState() { + return currentState; + } + + public String setCurrentState(String currentState) { + this.currentState = "DService" + currentInstanceId + "-" + currentState; + return this.currentState; + } + + public boolean isInitReady() { + return isInitReady; + } + + public int getDestroyCalledCounter() { + return destroyCalledCounter; + } + + public int getInitCalledCounter() { + return initCalledCounter; + } + + public int getInstanceCounter() { + return instanceCounter; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/FServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/FServiceImpl.java new file mode 100644 index 0000000000..e2bfa3c45a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/FServiceImpl.java @@ -0,0 +1,116 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.FService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(FService.class) +@Scope("COMPOSITE") +public class FServiceImpl implements FService { + + public static int instanceCounter = 0; + + public static int initCalledCounter = 0; + + public static int destroyCalledCounter = 0; + + public AService a1; + + public String p1; + + public int currentInstanceId = 0; + + public String currentState = null; + + public boolean isInitReady = false; + + public FServiceImpl() { + currentInstanceId = ++instanceCounter; + isInitReady = false; + } + + @Reference + public void setA1(AService a1) { + this.a1 = a1; + } + + @Property + public void setP1(String p1) { + this.p1 = p1; + } + + @Init + public void initFService() throws Exception { + initCalledCounter++; + if (p1.equals("p1") && a1.getName().equals("AService")) + isInitReady = true; + System.out.println("FService" + currentInstanceId + "->initFService"); + } + + @Destroy + public void destroyFService() { + destroyCalledCounter++; + System.out.println("FService" + currentInstanceId + "->destroyFService"); + } + + public String getName() { + return "FService" + currentInstanceId; + } + + public AService getA1() { + return a1; + } + + public String getP1() { + return p1; + } + + public String getCurrentState() { + return currentState; + } + + public String setCurrentState(String currentState) { + this.currentState = "FService" + currentInstanceId + "-" + currentState; + return this.currentState; + } + + public boolean isInitReady() { + return isInitReady; + } + + public int getDestroyCalledCounter() { + return destroyCalledCounter; + } + + public int getInitCalledCounter() { + return initCalledCounter; + } + + public int getInstanceCounter() { + return instanceCounter; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/GServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/GServiceImpl.java new file mode 100644 index 0000000000..28b8bd84b9 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/GServiceImpl.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.GService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.EagerInit; + +@Scope("COMPOSITE") +@EagerInit +public class GServiceImpl implements GService { + + public static int initCalledCounter = 0; + + public static int destroyCalledCounter = 0; + + public AService a1; + + public String p1; + + @Init + public void initGService() throws Exception { + initCalledCounter++; + System.out.println("GService->initGService"); + } + + @Destroy + public void destroyGService() { + destroyCalledCounter++; + System.out.println("GService->destroyGService"); + } + + @Reference + public void setA1(AService a1) { + this.a1 = a1; + } + + @Property + public void setP1(String p1) { + this.p1 = p1; + } + + public String getName() { + return "GService"; + } + + public int getInitCalledCounter() { + return initCalledCounter; + } + + public int getDestroyCalledCounter() { + return destroyCalledCounter; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/HServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/HServiceImpl.java new file mode 100644 index 0000000000..404f329201 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/HServiceImpl.java @@ -0,0 +1,86 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.IService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.HService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(HService.class) +public class HServiceImpl implements HService { + + @Reference + public IService i1; + + public String getName() { + return "HService"; + } + + public String test() { + + String serviceName = i1.getName(); + String conversationIdBefore = i1.getConversationId(); + + for (int i = 0; i < 10; i++) { + String newState = "state-" + i; + i1.setCurrentState(newState); + String currentState = i1.getCurrentState(); + if (currentState == null || !currentState.equals(serviceName + "-" + newState)) { + i1.endConversation(); + return "CurrentStateLost - " + currentState; + } + } + + boolean isInitReady = i1.isInitReady(); + + String conversationIdAfter = i1.getConversationId(); + + i1.endConversation(); + + if (!isInitReady) + return "InitNotReady"; + + if (!conversationIdBefore.equals(conversationIdAfter)) + return "DifferentConversationId"; + + return "None"; + } + + public String testCounters(int n) { + int instanceCounter = i1.getInstanceCounter(); + int initCalledCounter = i1.getInitCalledCounter(); + int destroyCalledCounter = i1.getDestroyCalledCounter(); + + System.out.println("instanceCounter=" + instanceCounter); + System.out.println("initCalledCounter=" + initCalledCounter); + System.out.println("destroyCalledCounter=" + destroyCalledCounter); + + if (instanceCounter != n + 1) + return "IncorrectInstanceCounter"; + if (initCalledCounter != n + 1) + return "IncorrectInitCalledCounter"; + if (destroyCalledCounter != n) + return "IncorrectDestroyCalledCounter"; + + return "None"; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/IServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/IServiceImpl.java new file mode 100644 index 0000000000..66d14c2e96 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/IServiceImpl.java @@ -0,0 +1,131 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.IService; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(IService.class) +@Scope("CONVERSATION") +public class IServiceImpl implements IService { + + public static int instanceCounter = 0; + + public static int initCalledCounter = 0; + + public static int destroyCalledCounter = 0; + + @ConversationID + protected String conversationId; + + public int currentInstanceId = 0; + + public AService a1; + + public String p1; + + public String currentState = null; + + public boolean isInitReady = false; + + public IServiceImpl() { + synchronized (IServiceImpl.class) { + currentInstanceId = ++instanceCounter; + } + isInitReady = false; + } + + @Reference + public void setA1(AService a1) { + this.a1 = a1; + } + + @Property + public void setP1(String p1) { + this.p1 = p1; + } + + @Init + public void initIService() throws Exception { + initCalledCounter++; + if (p1.equals("p1") && a1.getName().equals("AService")) + isInitReady = true; + System.out.println("IService" + currentInstanceId + "->initIService"); + } + + @Destroy + public void destroyIService() { + destroyCalledCounter++; + System.out.println("IService" + currentInstanceId + "->destroyIService"); + } + + public void endConversation() { + System.out.println("IService" + currentInstanceId + "->endConversation"); + } + + public String getName() { + return "IService" + currentInstanceId; + } + + public AService getA1() { + return a1; + } + + public String getP1() { + return p1; + } + + public String getCurrentState() { + return currentState; + } + + public String getConversationId() { + return conversationId; + } + + public String setCurrentState(String currentState) { + this.currentState = "IService" + currentInstanceId + "-" + currentState; + return this.currentState; + } + + public boolean isInitReady() { + return isInitReady; + } + + public int getDestroyCalledCounter() { + return destroyCalledCounter; + } + + public int getInitCalledCounter() { + return initCalledCounter; + } + + public int getInstanceCounter() { + return instanceCounter; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/JServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/JServiceImpl.java new file mode 100644 index 0000000000..80546f677c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/JServiceImpl.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import java.util.Timer; +import java.util.TimerTask; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.KService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.JService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(JService.class) +@Scope("COMPOSITE") +public class JServiceImpl implements JService { + + @Reference + public KService k1; + + public static String failedReason = ""; + + public static Timer aTimer = null; + + @Init + public void initJService() throws Exception { + aTimer = new Timer(); + aTimer.schedule(new JTimerTask(), 1000); + System.out.println("JService->initJService"); + } + + @Destroy + public void destroyJService() { + aTimer.cancel(); + System.out.println("JService->destroyJService"); + } + + public String getName() { + return "JService"; + } + + public String getFailedReason() { + return failedReason; + } + + private class JTimerTask extends TimerTask { + + public boolean cancel() { + return true; + } + + public void run() { + String result = k1.callL1(); + if (!result.equals("None")) + failedReason = failedReason + ";" + result; + } + + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/KServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/KServiceImpl.java new file mode 100644 index 0000000000..022a9d11f6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/KServiceImpl.java @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.KService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.LService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(KService.class) +@Scope("STATELESS") +public class KServiceImpl implements KService { + + public static int instanceCounter = 0; + + public String previousL1Name = null; + + public int currentInstanceId = 0; + + @Reference + public LService l1; + + public KServiceImpl() { + currentInstanceId = ++instanceCounter; + } + + + public String getName() { + return "KService"+currentInstanceId; + } + + public String callL1() { + + for (int i = 1; i < 11; i++) { + System.out.println(getName() + " calls LService " + i + (i == 1 ? "st time:" : (i == 2 ? "nd time:" : (i == 3 ? "rd time:" : "th time")))); + + String serviceName = l1.getName(); + for (int j = 0; j < 10; j++) { + String newState = "state-" + j; + l1.setCurrentState(newState); + String currentState = l1.getCurrentState(); + if (!currentState.equals(serviceName + "-" + newState)) { + return "CurrentStateLost - " + currentState; + } + } + + System.out.print(" Name=" + serviceName); + System.out.print(", #Instance=" + l1.getInstanceCounter()); + System.out.print(", #InitCalled=" + l1.getInitCalledCounter()); + System.out.println(", #DestroyCalled=" + l1.getDestroyCalledCounter()); + + if (previousL1Name == null) { + previousL1Name = serviceName; + } else { + if (!previousL1Name.equals(serviceName)) + return "DifferentLServiceInstance"; + } + } + return "None"; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/LServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/LServiceImpl.java new file mode 100644 index 0000000000..196cd6f39a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/LServiceImpl.java @@ -0,0 +1,83 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.LService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(LService.class) +@Scope("REQUEST") +public class LServiceImpl implements LService { + + public static int instanceCounter = 0; + + public static int initCalledCounter = 0; + + public static int destroyCalledCounter = 0; + + public int currentInstanceId = 0; + + public String currentState = null; + + public LServiceImpl() { + currentInstanceId = ++instanceCounter; + } + + @Init + public void initLService() throws Exception { + initCalledCounter++; + System.out.println("LService" + currentInstanceId + "->initLService"); + } + + @Destroy + public void destroyLService() { + destroyCalledCounter++; + System.out.println("LService" + currentInstanceId + "->destroyLService"); + } + + public String getName() { + return "LService" + currentInstanceId; + } + + public String getCurrentState() { + return currentState; + } + + public String setCurrentState(String currentState) { + this.currentState = "LService" + currentInstanceId + "-" + currentState; + return this.currentState; + } + + public int getDestroyCalledCounter() { + return destroyCalledCounter; + } + + public int getInitCalledCounter() { + return initCalledCounter; + } + + public int getInstanceCounter() { + return instanceCounter; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/MServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/MServiceImpl.java new file mode 100644 index 0000000000..acc7d8ca9e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/MServiceImpl.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import java.util.Timer; +import java.util.TimerTask; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.MService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.NService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(MService.class) +@Scope("COMPOSITE") +public class MServiceImpl implements MService { + + @Reference + public NService n1; + + public static String failedReason = ""; + + public static Timer aTimer = null; + + public static int counter = 0; + + @Init + public void initMService() throws Exception { + aTimer = new Timer(); + aTimer.schedule(new MTimerTask(), 1000, 1000); + System.out.println("MService->initMService"); + } + + @Destroy + public void destroyMService() { + aTimer.cancel(); + System.out.println("MService->destroyMService"); + } + + public String getName() { + return "MService"; + } + + public String getFailedReason() { + return failedReason; + } + + private class MTimerTask extends TimerTask { + + public boolean cancel() { + return true; + } + + public void run() { + counter++; + String result = n1.callO1(counter); + if (!result.equals("None")) + failedReason = failedReason + ";" + result; + } + + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/NServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/NServiceImpl.java new file mode 100644 index 0000000000..b9d799331f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/NServiceImpl.java @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.NService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.OService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(NService.class) +@Scope("STATELESS") +public class NServiceImpl implements NService { + + public static int instanceCounter = 0; + + public String previousL1Name = null; + + public int currentInstanceId = 0; + + @Reference + public OService o1; + + public NServiceImpl() { + currentInstanceId = ++instanceCounter; + } + + + public String getName() { + return "NService"+currentInstanceId; + } + + public String callO1(int nthTime) { + + for (int i = 1; i < 11; i++) { + System.out.println(getName() + " calls OService " + i + (i == 1 ? "st time:" : (i == 2 ? "nd time:" : (i == 3 ? "rd time:" : "th time")))); + + String serviceName = o1.getName(); + for (int j = 0; j < 10; j++) { + String newState = "state-" + j; + o1.setCurrentState(newState); + String currentState = o1.getCurrentState(); + if (!currentState.equals(serviceName + "-" + newState)) { + return "CurrentStateLost - " + currentState; + } + } + + System.out.print(" Name=" + serviceName); + System.out.print(", #Instance=" + o1.getInstanceCounter()); + System.out.print(", #InitCalled=" + o1.getInitCalledCounter()); + System.out.println(", #DestroyCalled=" + o1.getDestroyCalledCounter()); + + if (previousL1Name == null) { + previousL1Name = serviceName; + } else { + if (!previousL1Name.equals(serviceName)) + return "DifferentOServiceInstance"; + } + + } + + if (o1.getInstanceCounter() < nthTime) { + return "SharedSameInstance"; + } + + return "None"; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/OServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/OServiceImpl.java new file mode 100644 index 0000000000..60178ba2a3 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/OServiceImpl.java @@ -0,0 +1,83 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.OService; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Scope; + +@Service(OService.class) +@Scope("REQUEST") +public class OServiceImpl implements OService { + + public static int instanceCounter = 0; + + public static int initCalledCounter = 0; + + public static int destroyCalledCounter = 0; + + public int currentInstanceId = 0; + + public String currentState = null; + + public OServiceImpl() { + currentInstanceId = ++instanceCounter; + } + + @Init + public void initOService() throws Exception { + initCalledCounter++; + System.out.println("OService" + currentInstanceId + "->initOService"); + } + + @Destroy + public void destroyOService() { + destroyCalledCounter++; + System.out.println("OService" + currentInstanceId + "->destroyOService"); + } + + public String getName() { + return "OService" + currentInstanceId; + } + + public String getCurrentState() { + return currentState; + } + + public String setCurrentState(String currentState) { + this.currentState = "OService" + currentInstanceId + "-" + currentState; + return this.currentState; + } + + public int getDestroyCalledCounter() { + return destroyCalledCounter; + } + + public int getInitCalledCounter() { + return initCalledCounter; + } + + public int getInstanceCounter() { + return instanceCounter; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/main/resources/scope.composite b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/resources/scope.composite new file mode 100644 index 0000000000..7c195b2b5d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/main/resources/scope.composite @@ -0,0 +1,110 @@ + + + + + + + + + + + + p1 + + + + + + p1 + + + + + + p1 + + + + + + p1 + + + + + + p1 + + + + + + + + + + + p1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/scope/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/ScopeAnnotationTestCase.java b/java/sca-contrib/vtest/java-api/annotations/scope/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/ScopeAnnotationTestCase.java new file mode 100644 index 0000000000..6d65416ce8 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/scope/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/ScopeAnnotationTestCase.java @@ -0,0 +1,476 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; + +import java.util.ArrayList; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * This test class tests the Scope annotation described in section 1.2.4 + * including 1.8.7, 1.8.8, 1.8.9, 1.8.10, 1.8.11, and 1.8.16
    + *

    + * Check following:
    + *

  • Number of service instances be created
  • + *
  • Init method be called and where all property and reference injection is + * complete.
  • + *
  • Destroy method be called
  • + *
  • State be preserved in request and conversation scopes but not others
  • + */ +public class ScopeAnnotationTestCase { + + protected static String compositeName = "scope.composite"; + + protected static int numDThread = 5; + protected static int numFThread = 5; + protected static int numHThread = 5; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Line 259:
    + *
  • STATELESS
  • + *

    + * Line 284:
    + * For stateless components, there is no implied correlation between + * service requests.
    + *

    + * Line 1589 to 1591:
    + * The default value is 'STATELESS'. For 'STATELESS' implementations, + * a different implementation instance may be used to service each request. + * Implementation instances may be newly created or be drawn from a pool + * of instances.
    + *

    + * BComponent is not defined '@Scope'
    + * CComponent is defined '@Scope("STATELESS")'
    + *

    + */ + @Test + public void atScope1() throws Exception { + System.out.println("atScope1"); + BThread b1 = new BThread("ThreadB1"); + BThread b2 = new BThread("ThreadB2"); + CThread c1 = new CThread("ThreadC1"); + CThread c2 = new CThread("ThreadC2"); + + b1.start(); + b2.start(); + c1.start(); + c2.start(); + b1.join(); + b2.join(); + c1.join(); + c2.join(); + + System.out.println(""); + + Assert.assertEquals("None", b1.failedReason); + Assert.assertEquals("None", b2.failedReason); + Assert.assertEquals("None", c1.failedReason); + Assert.assertEquals("None", c2.failedReason); + } + + /** + * Line 260:
    + *

  • REQUEST
  • + *

    + * Lines 286 to 289:
    + * The lifecycle of request scope extends from the point a request on a + * remotable interface enters the SCA runtime and a thread processes that + * request until the thread completes synchronously processing the request. + * During that time, all service requests will be delegated to the same + * implementation instance of a request-scoped component.
    + *

    + */ + @Test + public void atScope2() throws Exception { + System.out.println("atScope2"); + ArrayList d = new ArrayList(); + for (int i = 0; i < numDThread; i++) + d.add(new DThread("ThreadD"+i)); + for (int i = 0; i < numDThread; i++) + d.get(i).start(); + for (int i = 0; i < numDThread; i++) + d.get(i).join(); + System.out.println(""); + for (int i = 0; i < numDThread; i++) + Assert.assertEquals("None", d.get(i).failedReason); + } + + /** + * Line 262:
    + *

  • COMPOSITE
  • + *

    + * Lines 296 to 298:
    + * All service requests are dispatched to the same implementation instance + * for the lifetime of the containing composite. The lifetime of the + * containing composite is defined as the time it becomes active in the + * runtime to the time it is deactivated, either normally or abnormally.
    + *

    + * Following lines should be found at System out
    + * atScope3 - Cleaning up
    + * FService1->destroyFService + */ + @Test + public void atScope3() throws Exception { + System.out.println("atScope3"); + FService fService = ServiceFinder.getService(FService.class, "FComponent"); + String serviceName = fService.getName(); + boolean isInitReady = fService.isInitReady(); + + ArrayList f = new ArrayList(); + for (int i = 0; i < numFThread; i++) + f.add(new FThread("ThreadF"+i)); + for (int i = 0; i < numFThread; i++) + f.get(i).start(); + for (int i = 0; i < numFThread; i++) + f.get(i).join(); + for (int i = 0; i < numFThread; i++) { + Assert.assertEquals(serviceName, f.get(i).serviceName); + } + + int instanceCounter = fService.getInstanceCounter(); + int initCalledCounter = fService.getInitCalledCounter(); + int destroyCalledCounter = fService.getDestroyCalledCounter(); + System.out.println(""); + + Assert.assertTrue(isInitReady); + Assert.assertEquals(1, instanceCounter); + Assert.assertEquals(1, initCalledCounter); + Assert.assertEquals(0, destroyCalledCounter); + } + + /** + * Lines 299 to 302:
    + * A composite scoped implementation may also specify eager initialization + * using the "@EagerInit" annotation. When marked for eager initialization, + * the composite scoped instance will be created when its containing + * component is started. If a method is marked with the "@Init" annotation, + * it will be called when the instance is created.

    + * Section 1.8.9 "@EagerInit"
    + *

    + * GService is defined as eager initialization. It will be initialized + * when calls SCADomain.newInstance(compositeName), so the + * initCalledCounter is 1. + */ + @Test + public void atScope4() throws Exception { + System.out.println("atScope4"); + + GService gService = ServiceFinder.getService(GService.class, "GComponent"); + int initCalledCounter = gService.getInitCalledCounter(); + int destroyCalledCounter = gService.getDestroyCalledCounter(); + + System.out.println("initCalledCounter="+ initCalledCounter); + System.out.println("destroyCalledCounter="+ destroyCalledCounter); + System.out.println(""); + + Assert.assertEquals(1, initCalledCounter); + Assert.assertEquals(0, destroyCalledCounter); + } + + /** + * Line 261:
    + *

  • CONVERSATION
  • + *

    + * Lines 305 to 310:
    + * A conversation is defined as a series of correlated interactions between + * a client and a target service. A conversational scope starts when the + * first service request is dispatched to an implementation instance + * offering a conversational service. A conversational scope completes + * after an end operation defined by the service contract is called and + * completes processing or the conversation expires. A conversation may be + * long-running and the SCA runtime may choose to passivate implementation + * instances. If this occurs, the runtime must guarantee implementation + * instance state is preserved. + */ + @Test + public void atScope5() throws Exception { + System.out.println("atScope5"); + + ArrayList g = new ArrayList(); + for (int i = 0; i < numHThread; i++) + g.add(new HThread("ThreadH"+i)); + for (int i = 0; i < numHThread; i++) + g.get(i).start(); + for (int i = 0; i < numHThread; i++) + g.get(i).join(); + + HService hService = ServiceFinder.getService(HService.class, "HComponent"); + String failedReason = hService.testCounters(numHThread); + System.out.println(""); + + for (int i = 0; i < numHThread; i++) + Assert.assertEquals("None", g.get(i).failedReason); + Assert.assertEquals("None", failedReason); + } + + /** Lines 290 to 293:
    + * There are times when a local request scoped service is called without + * there being a remotable service earlier in the call stack, such as when + * a local service is called from a non-SCA entity. In these cases, a + * remote request is always considered to be present, but the lifetime of + * the request is implementation dependent. For example, a timer event + * could be treated as a remote request..
    + *

    + * When the composite runs, composite scope service JService kicks off a + * timer by the @Init method. When the timer expires, JService invokes a + * method that calls an operation on the reference to a stateless scope + * sevice KService. KService calls a request scope service LService + * multiple times. The results of the calls to LService should be set up to + * differ depending on whether the same instance is called each time - + * without the interface being declared Conversational.
    + *

    + */ + @Test + public void atScope6() throws Exception { + System.out.println("atScope6"); + + JService jService = ServiceFinder.getService(JService.class, "JComponent"); + jService.getName(); + Thread.sleep(2000); + String failedReason = jService.getFailedReason(); + System.out.println(""); + + Assert.assertEquals("", failedReason); + } + + /** + * Same as atScope6 but the timer triggers KService multiple times.
    + */ + @Test + @Ignore("TUSCANY-2256") + public void atScope7() throws Exception { + System.out.println("atScope7"); + + MService mService = ServiceFinder.getService(MService.class, "MComponent"); + mService.getName(); + Thread.sleep(6000); + String failedReason = mService.getFailedReason(); + System.out.println(""); + + Assert.assertEquals("", failedReason); + } + + private class BThread extends Thread { + private String name = null; + public String failedReason = "Unknown"; + + public BThread(String name) { + super(); + this.name = name; + failedReason = "Unknown"; + } + + @Override + public void run() { + BService bService = ServiceFinder.getService(BService.class, "BComponent"); + bService.setCurrentState(name + "-state-1"); + System.out.println(name + "->" + bService.getName()); + if (!bService.isInitReady()) { + failedReason = "InitNotReady"; + return; + } + if (bService.getCurrentState() != null) { + failedReason = "CurrentStateNotNull"; + return; + } + int counter = bService.getInstanceCounter(); + if (counter < 2) { + failedReason = "OnlyOneInstance - " + counter; + return; + } + counter = bService.getInitCalledCounter(); + if (counter < 2) { + failedReason = "InitBeCalledOnce - " + counter; + return; + } + counter = bService.getDestroyCalledCounter(); + if (counter < 2) { + failedReason = "DestroyBeCalledOnce - " + counter; + return; + } + failedReason = "None"; + } + } + + private class CThread extends Thread { + private String name = null; + public String failedReason = "Unknown"; + + public CThread(String name) { + super(); + this.name = name; + failedReason = "Unknown"; + } + + @Override + public void run() { + CService cService = ServiceFinder.getService(CService.class, "CComponent"); + cService.setCurrentState(name + "-state-1"); + System.out.println(name + "->" + cService.getName()); + if (!cService.isInitReady()) { + failedReason = "InitNotReady"; + return; + } + if (cService.getCurrentState() != null) { + failedReason = "CurrentStateNotNull"; + return; + } + int counter = cService.getInstanceCounter(); + if (counter < 2) { + failedReason = "OnlyOneInstance - " + counter; + return; + } + counter = cService.getInitCalledCounter(); + if (counter < 2) { + failedReason = "InitBeCalledOnce - " + counter; + return; + } + counter = cService.getDestroyCalledCounter(); + if (counter < 2) { + failedReason = "DestroyBeCalledOnce - " + counter; + return; + } + failedReason = "None"; + } + } + + private class DThread extends Thread { + + private String name = null; + public String failedReason = "Unknown"; + + public DThread(String name) { + super(); + this.name = name; + failedReason = "Unknown"; + } + + @Override + public void run() { + DService dService = ServiceFinder.getService(DService.class, "DComponent"); + String serviceName = dService.getName(); + System.out.println(name + "->" + serviceName); + + for (int i = 0; i < 10; i++) { + String newState = name + "-state-" + i; + dService.setCurrentState(newState); + String currentState = dService.getCurrentState(); + if (!currentState.equals(serviceName + "-" + newState)) { + failedReason = "CurrentStateLost - " + currentState; + return; + } + } + + if (!dService.isInitReady()) { + failedReason = "InitNotReady"; + return; + } + + int counter = dService.getInstanceCounter(); + if (counter > numDThread) { + failedReason = "TooMuchInstance - " + counter; + return; + } + + counter = dService.getInitCalledCounter(); + if (counter > numDThread) { + failedReason = "InitBeCalledTooMuch - " + counter; + return; + } + + // JIRA T-2215 + /* Don't know when destroy method be called + counter = dService.getDestroyCalledCounter(); + if (counter > numDThreads) { + failedReason = "DestroyBeCalledTooMuch - " + counter; + return; + } + */ + failedReason = "None"; + } + } + + private class FThread extends Thread { + + private String name = null; + + public String serviceName = null; + + public FThread(String name) { + super(); + this.name = name; + } + + @Override + public void run() { + FService fService = ServiceFinder.getService(FService.class, "FComponent"); + serviceName = fService.getName(); + System.out.println(name + "->" + serviceName); + + for (int i = 0; i < 10; i++) { + String newState = name + "-state-" + i; + fService.setCurrentState(newState); + fService.getCurrentState(); + } + } + } + + private class HThread extends Thread { + + public String failedReason = "Unknown"; + + public HThread(String name) { + super(); + failedReason = "Unknown"; + } + + @Override + public void run() { + HService hService = ServiceFinder.getService(HService.class, "HComponent"); + failedReason = hService.test(); + } + } + +} + + diff --git a/java/sca-contrib/vtest/java-api/annotations/service/pom.xml b/java/sca-contrib/vtest/java-api/annotations/service/pom.xml new file mode 100644 index 0000000000..4c018607d1 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-annotations-service + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Service + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java new file mode 100644 index 0000000000..7b89b31d7f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +public interface AService { + + public String getName(); + + public String setAObject(AObject a); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java new file mode 100644 index 0000000000..26bcf3b9db --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; + +/** + * Simple Local Service + */ +public interface BService { + + public String getName(); + + public String setAObject(AObject a); + + public String testServices(); +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java new file mode 100644 index 0000000000..4f4f1e80c7 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; + +/** + * Simple Local Service without defining "@Service" at the implementation class + */ +public interface CService { + + public String getName(); + + public String setAObject(AObject a); +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java new file mode 100644 index 0000000000..ffabb3619c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface DService1 { + + public String getName1(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java new file mode 100644 index 0000000000..83d7980dbc --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface DService2 { + + public String getName2(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java new file mode 100644 index 0000000000..a416e33de7 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface DService3 { + + public String getName3(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java new file mode 100644 index 0000000000..ad44d2b93a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +/** + * Simple Local Service which implementation class defines + * + * @Service() with no attributes + */ +public interface EService { + + public String getName(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java new file mode 100644 index 0000000000..52886131a1 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +/** + * Simple Local Service which implementation class defines + * + * @Service with full package name + */ +public interface FService { + + public String getName(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java new file mode 100644 index 0000000000..bd1a3a5fe6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface GService1 { + + public String getName(); + + public String getServiceName(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java new file mode 100644 index 0000000000..0f8c7dabcb --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface GService2 extends GService1 { + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java new file mode 100644 index 0000000000..6a80e3023e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +public interface HService { + + public String getName(); + + public String setAObject1(AObject a); + + public String setAObject2(AObject a); + + public String getComponentName(); + + public String getAObject1String(); + + public String getAObject2String(); + + public String getAObject3String(); + + public AObject getAObject3(); + + public String getServiceName1(); + + public String getServiceName2(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java new file mode 100644 index 0000000000..cdeb43c4f4 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +public interface IService { + + public String getName(); + + public String setAObject1(AObject a); + + public String setAObject2(AObject a); + + public void setComponentName1(String componentName1); + + public String getComponentName1(); + + public String getComponentName2(); + + public String getAObject1String(); + + public String getAObject2String(); + + public String getAObject3String(); + + public AObject getAObject3(); + + public String getServiceName1(); + + public String getServiceName2(); + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java new file mode 100644 index 0000000000..0ab2e29194 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +/** + * A simple object to hold a string + */ +public class AObject { + + public String aString; + + public AObject() { + this.aString = null; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java new file mode 100644 index 0000000000..b9617e5780 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.AService; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + public String getName() { + return "AService"; + } + + public String setAObject(AObject a) { + a.aString = "AService"; + return "AService"; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java new file mode 100644 index 0000000000..474ca084d6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.CService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.HService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.IService; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.Reference; + +@Service(BService.class) +public class BServiceImpl implements BService { + + @Reference(required=false) + public AService aService = null; + + @Reference(required=false) + public CService cService = null; + + @Reference(required=false) + public HService hService = null; + + @Reference(required=false) + public IService iService = null; + + public String getName() { + return "BService"; + } + + public String setAObject(AObject a) { + a.aString = "BService"; + return "BService"; + } + + public String testServices() { + + AObject a = new AObject(); + aService.setAObject(a); + if (a.aString != null) + return "AServiceNotPassByValue"; + + AObject c = new AObject(); + cService.setAObject(c); + if (c.aString == null || !c.aString.equals("CService")) + return "CServiceNotPassByReference"; + + + AObject h1 = new AObject(); + hService.setAObject1(h1); + if (h1.aString == null || !h1.aString.equals("HService")) + return "HServiceSetAObject1NotPassByReference"; + h1.aString = "testServices"; + if (!hService.getAObject1String().equals("testServices")) + return "HServiceGetAObject1NotPassByReference"; + + AObject h2 = new AObject(); + hService.setAObject2(h2); + if (h2.aString != null) + return "HServiceSetAObject2NotPassByValue"; + h2.aString = "testServices"; + if (!hService.getAObject2String().equals("HService")) + return "HServiceGetAObject1NotPassByValue"; + + AObject h3 = hService.getAObject3(); + h3.aString = "testServices"; + if (!hService.getAObject3String().equals("HService")) + return "HServiceGetAObject3NotPassByValue"; + + AObject i1 = new AObject(); + iService.setAObject1(i1); + if (i1.aString == null || !i1.aString.equals("IService")) + return "IServiceSetAObject1NotPassByReference"; + i1.aString = "testServices"; + if (!iService.getAObject1String().equals("testServices")) + return "IServiceGetAObject1NotPassByReference"; + + AObject i2 = new AObject(); + iService.setAObject2(i2); + if (i2.aString == null || !i2.aString.equals("IService")) + return "IServiceSetAObject2NotPassByReference"; + i2.aString = "testServices"; + if (!iService.getAObject2String().equals("testServices")) + return "IServiceGetAObject2NotPassByReference"; + + AObject i3 = iService.getAObject3(); + i3.aString = "testServices"; + if (!iService.getAObject3String().equals("testServices")) + return "IServiceGetAObject3NotPassByReference"; + + return "None"; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java new file mode 100644 index 0000000000..3fc23d2f68 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.CService; + +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String setAObject(AObject a) { + a.aString = "CService"; + return "CService"; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java new file mode 100644 index 0000000000..5b3c73ddd8 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.DService1; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.DService2; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.DService3; +import org.oasisopen.sca.annotation.Service; + +@Service(interfaces = {DService1.class, DService2.class}) +public class DServiceImpl implements DService1, DService2, DService3 { + + public String getName1() { + return "DService1"; + } + + public String getName2() { + return "DService2"; + } + + public String getName3() { + return "DService3"; + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java new file mode 100644 index 0000000000..321d019932 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.EService; +import org.oasisopen.sca.annotation.Service; + +@Service() +public class EServiceImpl implements EService { + + public String getName() { + return "EService"; + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java new file mode 100644 index 0000000000..f28fa0c3a7 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.FService; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Service; + +@Service(org.apache.tuscany.sca.vtest.javaapi.annotations.service.FService.class) +public class FServiceImpl implements FService { + + @Context + public RequestContext requestContext; + + public String getName() { + return requestContext.getServiceName(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java new file mode 100644 index 0000000000..79051eea8f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.oasisopen.sca.annotation.Service; + +@Service(FServiceImpl2.class) +public class FServiceImpl2 extends FServiceImpl { +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java new file mode 100644 index 0000000000..161cbaa620 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.GService1; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.GService2; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.RequestContext; + +@Service(interfaces = {GService1.class, GService2.class}) +public class GServiceImpl implements GService1 { + + @Context + public RequestContext requestContext; + + public String getName() { + return "GService"; + } + + public String getServiceName() { + return requestContext.getServiceName(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java new file mode 100644 index 0000000000..02e67b645b --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java @@ -0,0 +1,105 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.HService; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.annotation.ComponentName; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; +import org.oasisopen.sca.annotation.AllowsPassByReference; + +@Service(HService.class) +@Scope("REQUEST") +public class HServiceImpl implements HService { + + @ComponentName + protected String componentName; + + private AObject aObject1 = null; + + private AObject aObject2 = null; + + private AObject aObject3 = null; + + public RequestContext requestContext; + + public ComponentContext componentContext; + + public String getName() { + return "HService"; + } + + @AllowsPassByReference + public String setAObject1(AObject a) { + a.aString = "HService"; + aObject1 = a; + return "HService"; + } + + public String setAObject2(AObject a) { + a.aString = "HService"; + aObject2 = a; + return "HService"; + } + + @Context + public void setComponentContext(ComponentContext componentContext) { + this.componentContext = componentContext; + } + + @Context + public void setRequestContext(RequestContext requestContext) { + this.requestContext = requestContext; + } + + public String getComponentName() { + return componentName; + } + + public String getAObject1String() { + return aObject1.aString; + } + + public String getAObject2String() { + return aObject2.aString; + } + + public String getAObject3String() { + return aObject3.aString; + } + + public AObject getAObject3() { + aObject3 = new AObject(); + aObject3.aString = "HService"; + return aObject3; + } + + public String getServiceName1() { + return requestContext.getServiceName(); + } + + public String getServiceName2() { + return componentContext.getRequestContext().getServiceName(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java new file mode 100644 index 0000000000..ea08149eaf --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java @@ -0,0 +1,107 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.IService; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.annotation.AllowsPassByReference; +import org.oasisopen.sca.annotation.ComponentName; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(IService.class) +@Scope("REQUEST") +@AllowsPassByReference +public class IServiceImpl implements IService { + + @ComponentName + public String componentName1; + + public String componentName2; + + private AObject aObject1 = null; + + private AObject aObject2 = null; + + private AObject aObject3 = null; + + @Context + public RequestContext requestContext; + + @Context + public ComponentContext componentContext; + + public String getName() { + return "IService"; + } + + public String setAObject1(AObject a) { + a.aString = "IService"; + aObject1 = a; + return "IService"; + } + + public String setAObject2(AObject a) { + a.aString = "IService"; + aObject2 = a; + return "IService"; + } + + @ComponentName + public void setComponentName1(String componentName1) { + this.componentName2 = componentName1; + } + + public String getAObject1String() { + return aObject1.aString; + } + + public String getAObject2String() { + return aObject2.aString; + } + + public String getAObject3String() { + return aObject3.aString; + } + + public AObject getAObject3() { + aObject3 = new AObject(); + aObject3.aString = "IService"; + return aObject3; + } + + public String getComponentName1() { + return componentName1; + } + + public String getComponentName2() { + return componentName2; + } + + public String getServiceName1() { + return requestContext.getServiceName(); + } + + public String getServiceName2() { + return componentContext.getRequestContext().getServiceName(); + } +} diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/main/resources/service.composite b/java/sca-contrib/vtest/java-api/annotations/service/src/main/resources/service.composite new file mode 100644 index 0000000000..0731986df2 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/main/resources/service.composite @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/annotations/service/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/ServiceAnnotationTestCase.java b/java/sca-contrib/vtest/java-api/annotations/service/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/ServiceAnnotationTestCase.java new file mode 100644 index 0000000000..52f7821ebb --- /dev/null +++ b/java/sca-contrib/vtest/java-api/annotations/service/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/ServiceAnnotationTestCase.java @@ -0,0 +1,335 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.annotations.service; + +import static org.junit.Assert.fail; +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.FServiceImpl2; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * This test class tests the Service annotation described in section 1.2.1 + * including 1.3.1, 1.8.1, 1.8.3, 1.8.6, 1.8.15 and 1.8.17
    + * but not..
    + *

  • Lines 1531 to 1534
  • + */ +public class ServiceAnnotationTestCase { + + protected static String compositeName = "service.composite"; + protected static AService aService = null; + protected static BService bService = null; + protected static BService bService1 = null; + protected static HService hService = null; + protected static IService iService = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + bService = ServiceFinder.getService(BService.class, "BComponent"); + bService1 = ServiceFinder.getService(BService.class, "BComponent1"); + hService = ServiceFinder.getService(HService.class, "HComponent"); + iService = ServiceFinder.getService(IService.class, "IComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + + } + + /** + * Line 215:
    + *
  • As a Java interface
  • + *

    + * Line 1622 to 1623:
    + * The + * + * @Service annotation type is used on a component implementation class to + * specify the SCA services offered by the implementation.
    + */ + @Test + public void atService1() throws Exception { + Assert.assertEquals("AService", aService.getName()); + } + + /** + * Line 216:
    + *

  • As a Java class
  • + *

    + * Line 1631:
    + *

  • value – A shortcut for the case when the class provides only a + * single service interface.
  • + */ + @Test + public void atService2() throws Exception { + Assert.assertEquals("BService", bService.getName()); + } + + /** + * Lines 222 to 224:
    + * A remotable service is defined using the "@Remotable" annotation on the + * Java interface that defines the service. Remotable services are intended + * to be used for coarse grained services, and the parameters are passed + * by-value.
    + *

    + * Lines 321 to 323:
    + * The "@Remotable" annotation on a Java interface indicates that the + * interface is designed to be used for remote communication. Remotable + * interfaces are intended to be used for coarse grained services. + * Operations parameters and return values are passed by-value.
    + */ + @Test + public void atService3() throws Exception { + AObject o = new AObject(); + Assert.assertEquals("AService", aService.setAObject(o)); + Assert.assertNull(o.aString); + } + + /** + * Lines 227 to 242:
    + * A local service can only be called by clients that are deployed within + * the same address space as the component implementing the local service.
    + * ...
    + * The data exchange semantic for calls to local services is by-reference.
    + * ...
    + * Lines 996 to 1028:
    + * 1.8.1 "@AllowsPassByReference"
    + * ...
    + * Lines 1535 to 1540:
    + * Independent of whether the remotable service is called from outside of + * the composite that contains it or from another component in the same + * composite, the data exchange semantics are by-value.
    + * Implementations of remotable services may modify input data during or + * after an invocation and may modify return data after the invocation. If a + * remotable service is called locally or remotely, the SCA container is + * responsible for making sure that no modification of input data or + * post-invocation modifications to return data are seen by the caller.
    + *

    + * Test under Non-SCA <-> SCA + *

  • BService is local service to test by reference
  • + *
  • HService is remotable service to test "@AllowsPassByReference" at + * method level
  • + *
  • IService is remotable service to test "@AllowsPassByReference" at + * class level
  • + */ + @Test + public void atService4() throws Exception { + AObject b = new AObject(); + Assert.assertEquals("BService", bService.setAObject(b)); + Assert.assertEquals("BService", b.aString); + + AObject h1 = new AObject(); + Assert.assertEquals("HService", hService.setAObject1(h1)); + Assert.assertEquals("HService", h1.aString); + h1.aString = "atService4"; + Assert.assertEquals("atService4", hService.getAObject1String()); + + AObject h2 = new AObject(); + Assert.assertEquals("HService", hService.setAObject2(h2)); + Assert.assertNull(h2.aString); + h2.aString = "atService4"; + Assert.assertEquals("HService", hService.getAObject2String()); + + AObject h3 = hService.getAObject3(); + h3.aString = "atService4"; + Assert.assertEquals("HService", hService.getAObject3String()); + + AObject i1 = new AObject(); + Assert.assertEquals("IService", iService.setAObject1(i1)); + Assert.assertEquals("IService", i1.aString); + i1.aString = "atService4"; + Assert.assertEquals("atService4", iService.getAObject1String()); + + AObject i2 = new AObject(); + Assert.assertEquals("IService", iService.setAObject2(i2)); + Assert.assertEquals("IService", i2.aString); + i2.aString = "atService4"; + Assert.assertEquals("atService4", iService.getAObject2String()); + + AObject i3 = iService.getAObject3(); + i3.aString = "atService4"; + Assert.assertEquals("atService4", iService.getAObject3String()); + } + + /** + * Line 1624 to 1627:
    + * A class used as the implementation of a service is not required to have + * an "@Service" annotation. If a class has no "@Service" annotation, then + * the rules determining which services are offered and what interfaces + * those services have are determined by the specific implementation type. + *
    + */ + @Test + public void atService5() throws Exception { + CService cService = ServiceFinder.getService(CService.class, "CComponent"); + Assert.assertEquals("CService", cService.getName()); + } + + /** + * Line 1623 to 1624:
    + * The class need not be declared as implementing all of the interfaces + * implied by the services, but all methods of the service interfaces must + * be present.
    + *

    + * Line 1629 to 1630:
    + *

  • interfaces – The value is an array of interface or class objects + * that should be exposed as services by this component.
  • + */ + @Test + public void atService6() throws Exception { + DService1 dService1 = ServiceFinder.getService(DService1.class, "DComponent/DService1"); + Assert.assertEquals("DService1", dService1.getName1()); + DService2 dService2 = ServiceFinder.getService(DService2.class, "DComponent/DService2"); + Assert.assertEquals("DService2", dService2.getName2()); + try { + ServiceFinder.getService(DService3.class, "DComponent/DService3"); + fail("Should have failed to get this service"); + } catch (Exception e) { + // Expect an exception + } + } + + /** + * Line 1635 to 1636:
    + * A "@Service" annotation with no attributes is meaningless, it is the same + * as not having the annotation there at all.
    + */ + @Test + public void atService7() throws Exception { + EService eService = ServiceFinder.getService(EService.class, "EComponent"); + Assert.assertEquals("EService", eService.getName()); + } + + /** + * Line 1637 to 1638:
    + * The service names of the defined services default to the names of the + * interfaces or class, without the package name.
    + */ + @Test + public void atService8() throws Exception { + FService fService = ServiceFinder.getService(FService.class, "FComponent"); + Assert.assertEquals("FService", fService.getName()); + FServiceImpl2 fServiceImpl2 = ServiceFinder.getService(FServiceImpl2.class, "FComponent2"); + Assert.assertEquals("FServiceImpl2", fServiceImpl2.getName()); + fService = ServiceFinder.getService(FService.class, "FComponent2"); + Assert.assertEquals("FServiceImpl2", fService.getName()); + } + + /** + * Line 1639 to 1641:
    + * If a Java implementation needs to realize two services with the same + * interface, then this is achieved through subclassing of the interface. + * The subinterface must not add any methods. Both interfaces are listed in + * the "@Service" annotation of the Java implementation class.
    + */ + @Test + public void atService9() throws Exception { + GService1 gService1 = ServiceFinder.getService(GService1.class, "GComponent/GService1"); + GService2 gService2 = ServiceFinder.getService(GService2.class, "GComponent/GService2"); + Assert.assertEquals("GService", gService1.getName()); + Assert.assertEquals("GService1", gService1.getServiceName()); + Assert.assertEquals("GService", gService2.getName()); + Assert.assertEquals("GService2", gService2.getServiceName()); + } + + /** + * Lines 227 to 242:
    + * A local service can only be called by clients that are deployed within + * the same address space as the component implementing the local service.
    + * ...
    + * The data exchange semantic for calls to local services is by-reference.
    + * ...
    + * Lines 996 to 1028:
    + * 1.8.1 "@AllowsPassByReference"
    + * ...
    + * Lines 1535 to 1540:
    + * Independent of whether the remotable service is called from outside of + * the composite that contains it or from another component in the same + * composite, the data exchange semantics are by-value.
    + * Implementations of remotable services may modify input data during or + * after an invocation and may modify return data after the invocation. If a + * remotable service is called locally or remotely, the SCA container is + * responsible for making sure that no modification of input data or + * post-invocation modifications to return data are seen by the caller.
    + *

    + * Test under SCA <-> SCA
    + *

  • AService is remotable service to test by value
  • + *
  • CService is local service to test by-reference
  • + *
  • HService is remotable service to test "@AllowsPassByReference" at + * method level
  • + *
  • IService is remotable service to test "@AllowsPassByReference" at + * class level
  • + */ + @Test + public void atService10() throws Exception { + Assert.assertEquals("None", bService1.testServices()); + } + + /** + * Lines 1095 to 1124:
    + * 1.8.3. "@ComponentName"
    + * ...
    + * The "@ComponentName" annotation type is used to annotate a Java class + * field or setter method that is used to inject the component name.
    + * ...
    + */ + @Test + public void atService11() throws Exception { + Assert.assertEquals("HComponent", hService.getComponentName()); + Assert.assertNull(iService.getComponentName1()); + Assert.assertEquals("IComponent", iService.getComponentName2()); + } + + /** + * Lines 1164 to 1187:
    + * 1.8.6. "@Context"
    + * ...
    + * The "@Context" annotation type is used to annotate a Java class field or + * a setter method that is used to inject a composite context for the + * component. The type of context to be injected is defined by the type of + * the Java class field or type of the setter method input argument, the + * type is either ComponentContext or RequestContext.
    + * ...
    + *

    + * HService - "@Context" is used to annotate setter methods
    + * IService - "@Context" is used to annotate class fields
    + *
    + */ + @Test + public void atService12() throws Exception { + Assert.assertEquals("HService", hService.getServiceName1()); + Assert.assertEquals("HService", hService.getServiceName2()); + Assert.assertEquals("IService", iService.getServiceName1()); + Assert.assertEquals("IService", iService.getServiceName2()); + } +} diff --git a/java/sca-contrib/vtest/java-api/apis/callablereference/pom.xml b/java/sca-contrib/vtest/java-api/apis/callablereference/pom.xml new file mode 100644 index 0000000000..fff1689569 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/callablereference/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-apis + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-apis-callablereference + Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - CallableReference + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/AComponent.java b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/AComponent.java new file mode 100644 index 0000000000..a7040f944e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/AComponent.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service A. + */ +@Conversational +public interface AComponent { + + public String getName(); + + public String getServiceName(); + public String getBusinessInterfaceName(); + public boolean isConversational(); + public void testConversationID(); + public String getCallbackResult(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BCallback.java b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BCallback.java new file mode 100644 index 0000000000..707568e507 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BCallback.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference; + +public interface BCallback { + + public void processResults(String result); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BComponent.java b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BComponent.java new file mode 100644 index 0000000000..18fcaee6ee --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BComponent.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service B. + */ +@Conversational +@Callback(BCallback.class) +public interface BComponent { + + public String getName(); + + public void testCallback(); + public void testConversationID(); + public void testNonNullConversation(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/AComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/AComponentImpl.java new file mode 100644 index 0000000000..70a257d19f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/AComponentImpl.java @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.AComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.BCallback; +import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.BComponent; +import org.junit.Assert; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AComponent.class) +@Scope("CONVERSATION") +public class AComponentImpl implements AComponent, BCallback { + + private static Object monitor = new Object(); + private static String returnMessage = null; + + protected ComponentContext componentContext; + + @Reference + protected CallableReference bReference; + + @ConversationID + protected String cid; + + public String getName() { + return "ComponentA"; + } + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public String getServiceName() { + return bReference.getService().getName(); + } + + public String getBusinessInterfaceName() { + return bReference.getBusinessInterface().getSimpleName(); + } + + public boolean isConversational() { + return bReference.isConversational(); + } + + public void testConversationID() { + ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); + bSR.setConversationID("AConversationID"); + bSR.getService().testConversationID(); + + Assert.assertEquals("AConversationID", bSR.getConversation().getConversationID()); + } + + public String getCallbackResult() { + ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); + String cbID = "ComponentACallBack"; + bSR.setCallbackID(cbID); + bSR.getService().testCallback(); + + // Wait for 30s max. + int count = 0; + synchronized(monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + return returnMessage; + } + + public void processResults(String result) { + returnMessage = result; + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/BComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/BComponentImpl.java new file mode 100644 index 0000000000..ea4c71d27a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/BComponentImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.BCallback; +import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.BComponent; +import org.junit.Assert; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BComponent.class) +@Scope("CONVERSATION") +public class BComponentImpl implements BComponent { + + protected ComponentContext componentContext; + + @Callback + protected BCallback callback; + + @ConversationID + protected String cid; + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public String getName() { + return "ComponentB"; + } + + public void testCallback() { + callback = componentContext.getRequestContext().getCallback(); + callback.processResults("CallBackFromB"); + + CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); + Assert.assertEquals("ComponentACallBack", bCR.getCallbackID()); + } + + public void testConversationID() { + Assert.assertEquals("AConversationID", cid); + } + + public void testNonNullConversation() { + Assert.assertNotNull(componentContext.getRequestContext().getServiceReference().getConversation()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/resources/callablereference.composite b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/resources/callablereference.composite new file mode 100644 index 0000000000..f997d78bb5 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/callablereference/src/main/resources/callablereference.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/apis/callablereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/CallableReferenceTestCase.java b/java/sca-contrib/vtest/java-api/apis/callablereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/CallableReferenceTestCase.java new file mode 100644 index 0000000000..4d0d8338ba --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/callablereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/CallableReferenceTestCase.java @@ -0,0 +1,118 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * This test class tests the CallableReference interface described in 1.7.3 of + * the SCA Java Annotations & APIs Specification 1.0. + */ +public class CallableReferenceTestCase { + + protected static String compositeName = "callablereference.composite"; + protected static AComponent a; + protected static BComponent b; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a = ServiceFinder.getService(AComponent.class, "AComponent"); + b = ServiceFinder.getService(BComponent.class, "BComponent"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Lines 884
    + * getService() - Returns a type-safe reference to the target of this + * reference. The instance returned is guaranteed to implement the business + * interface for this reference. The value returned is a proxy to the target + * that implements the business interface associated with this reference. + * + * @throws Exception + */ + @Test + public void testGetService() throws Exception { + Assert.assertEquals("ComponentB", a.getServiceName()); + } + + /** + * Lines 885
    + * getBusinessInterface() – Returns the Java class for the business + * interface associated with this reference. + * + * @throws Exception + */ + @Test + public void testGetBusinessInterface() throws Exception { + Assert.assertEquals("BComponent", a.getBusinessInterfaceName()); + } + + /** + * Lines 886
    + * isConversational() – Returns true if this reference is conversational. + * + * @throws Exception + */ + @Test + public void testIsConversational() throws Exception { + Assert.assertEquals(true, a.isConversational()); + } + + /** + * Lines 887
    + * getConversation() – Returns the conversation associated with this + * reference. Returns null if no conversation is currently active. + * + * @throws Exception + */ + @Test + public void testGetConversation() throws Exception { + a.testConversationID(); + b.testNonNullConversation(); + } + + /** + * Lines 888
    + * getCallbackID() – Returns the callback ID. + * + * @throws Exception + */ + @Test + public void testGetCallbackID() throws Exception { + // Actual test is in BComponentImpl. Below is an extra test. + Assert.assertEquals("CallBackFromB", a.getCallbackResult()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/pom.xml b/java/sca-contrib/vtest/java-api/apis/componentcontext/pom.xml new file mode 100644 index 0000000000..0a2d12a41e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-apis + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-apis-componentcontext + Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - ComponentContext + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/AComponent.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/AComponent.java new file mode 100644 index 0000000000..b2c8c07866 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/AComponent.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; + +/** + * Simple Service A. + */ +public interface AComponent { + + public String getName(); + + public String getContextURI(); + public String getServiceBName(); + public String getServiceReferenceBName(); + public String getSelfReferenceName(); + public String getProperty(); + public String getRequestContextServiceName(); + public String getCastCallableReferenceServiceName(); + public String getCastServiceReferenceServiceName(); + public void illegalCast(); + + public String testServiceLookup(); + public String getRequestContextContent(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BComponent.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BComponent.java new file mode 100644 index 0000000000..7e425c740f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BComponent.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; + +/** + * Simple Service B. + */ +public interface BComponent { + + String getName(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java new file mode 100644 index 0000000000..d7799bb3aa --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service B. + */ +@Remotable +public interface BService { + + String getBName(); + + String getSelfReferenceWithServiceName(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/CService.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/CService.java new file mode 100644 index 0000000000..d0da012f6f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/CService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; + +/** + * Simple Service C. + */ +public interface CService { + + String getCName(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java new file mode 100644 index 0000000000..079d859f74 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface DComponent { + + public String getName(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java new file mode 100644 index 0000000000..06a71c29ac --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java @@ -0,0 +1,124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.AComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.BService; +import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.DComponent; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.EagerInit; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AComponent.class) +@Scope("COMPOSITE") +@EagerInit +public class AComponentImpl implements AComponent { + + public static String rcContent = null; + + protected ComponentContext componentContext; + + @Reference + protected BService bReference; + + @Reference + protected DComponent dReference; + + @Property(name="aProperty", required=true) + protected String aProperty; + + public String getName() { + return "ComponentA"; + } + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + @Init + public void init() { + RequestContext rc = componentContext.getRequestContext(); + if (rc != null) { + rcContent = "NotNull"; + } else { + rcContent = "Null"; + } + } + + public String getContextURI() { + return componentContext.getURI(); + } + + public String getServiceBName() { + return componentContext.getService(BService.class, "bReference").getBName(); + } + + public String getServiceReferenceBName() { + ServiceReference bSR = componentContext.getServiceReference(BService.class, "bReference"); + return bSR.getService().getBName(); + } + + public String getSelfReferenceName() { + ServiceReference aSR = componentContext.createSelfReference(AComponent.class); + return aSR.getService().getName(); + } + + public String getProperty() { + return componentContext.getProperty(String.class, "aProperty"); + } + + public String getRequestContextServiceName() { + return componentContext.getRequestContext().getServiceName(); + } + + public String getCastCallableReferenceServiceName() { + BService b = componentContext.getService(BService.class, "bReference"); + CallableReference bCR = componentContext.cast(b); + return bCR.getService().getBName(); + } + + public String getCastServiceReferenceServiceName() { + BService b = componentContext.getService(BService.class, "bReference"); + ServiceReference bSR = componentContext.cast(b); + return bSR.getService().getBName(); + } + + public void illegalCast() { + componentContext.cast(""); + } + + public String testServiceLookup() { + return componentContext.getService(DComponent.class, "dReference").getName(); + } + + public String getRequestContextContent() { + return rcContent; + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java new file mode 100644 index 0000000000..e508687965 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.AComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.BService; +import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.DComponent; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.EagerInit; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Property; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AComponent.class) +@Scope("COMPOSITE") +@EagerInit +public class AUnannotatedComponentImpl implements AComponent { + + public static String rcContent = null; + + protected ComponentContext componentContext; + + protected BService bReference; + + protected DComponent dReference; + + protected String aProperty; + + public String getName() { + return "ComponentA"; + } + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + @Init + public void init() { + RequestContext rc = componentContext.getRequestContext(); + if (rc != null) { + rcContent = "NotNull"; + } else { + rcContent = "Null"; + } + } + + public String getContextURI() { + return componentContext.getURI(); + } + + public String getServiceBName() { + return componentContext.getService(BService.class, "bReference").getBName(); + } + + public String getServiceReferenceBName() { + ServiceReference bSR = componentContext.getServiceReference(BService.class, "bReference"); + return bSR.getService().getBName(); + } + + public String getSelfReferenceName() { + ServiceReference aSR = componentContext.createSelfReference(AComponent.class); + return aSR.getService().getName(); + } + + public String getProperty() { + return componentContext.getProperty(String.class, "aProperty"); + } + + public String getRequestContextServiceName() { + return componentContext.getRequestContext().getServiceName(); + } + + public String getCastCallableReferenceServiceName() { + BService b = componentContext.getService(BService.class, "bReference"); + CallableReference bCR = componentContext.cast(b); + return bCR.getService().getBName(); + } + + public String getCastServiceReferenceServiceName() { + BService b = componentContext.getService(BService.class, "bReference"); + ServiceReference bSR = componentContext.cast(b); + return bSR.getService().getBName(); + } + + public void illegalCast() { + componentContext.cast(""); + } + + public String testServiceLookup() { + return componentContext.getService(DComponent.class, "dReference").getName(); + } + + public String getRequestContextContent() { + return rcContent; + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/BComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/BComponentImpl.java new file mode 100644 index 0000000000..157864fd27 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/BComponentImpl.java @@ -0,0 +1,52 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.BService; +import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.CService; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Service; + +@Service(interfaces={BService.class, CService.class}) +public class BComponentImpl implements BService, CService { + + protected ComponentContext componentContext; + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public String getBName() { + return "ServiceB"; + } + + public String getCName() { + return "ServiceC"; + } + + public String getSelfReferenceWithServiceName() { + ServiceReference cSR = componentContext.createSelfReference(CService.class, "CService"); + return cSR.getService().getCName(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/DComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/DComponentImpl.java new file mode 100644 index 0000000000..9432c70ff3 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/DComponentImpl.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.DComponent; +import org.oasisopen.sca.annotation.Service; + +@Service(DComponent.class) +public class DComponentImpl implements DComponent { + + public String getName() { + return "ComponentD"; + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite new file mode 100644 index 0000000000..19f110d5dc --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite @@ -0,0 +1,47 @@ + + + + + + + + + PropertyA + + + + + + + PropertyA + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java new file mode 100644 index 0000000000..e9352a5c06 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java @@ -0,0 +1,191 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +import org.oasisopen.sca.ServiceRuntimeException; + +/** + * This test class tests the ComponentContext interface described in 1.7.1 of + * the SCA Java Annotations & APIs Specification 1.0. Relevant sections of 1.4 + * will also be covered here. + */ +public class ComponentContextTestCase { + + protected static String compositeName = "ab.composite"; + protected static AComponent a; + protected static AComponent aUnannotated; + protected static BService b; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a = ServiceFinder.getService(AComponent.class, "AComponent"); + aUnannotated = ServiceFinder.getService(AComponent.class, "AUnannotatedComponent"); + b = ServiceFinder.getService(BService.class, "BComponent/BService"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Lines 776
    + * getURI() - Returns the absolute URI of the component within the SCA + * domain. + * + * @throws Exception + */ + @Test + public void testGetURI() throws Exception { + Assert.assertEquals("AComponent", a.getContextURI()); + Assert.assertEquals("AUnannotatedComponent", aUnannotated.getContextURI()); + } + + /** + * Lines 778
    + * getService(Class<B> businessInterface, String referenceName) ? + * Returns a proxy for the reference defined by the current component. + * + * @throws Exception + */ + @Test + public void testGetService() throws Exception { + Assert.assertEquals(a.getServiceBName(), "ServiceB"); + } + + /** + * Lines 780
    + * getServiceReference(Class<B> businessInterface, String + * referenceName) ? Returns a ServiceReference defined by the current + * component. + * + * @throws Exception + */ + @Test + public void testGetServiceReference() throws Exception { + Assert.assertEquals(a.getServiceReferenceBName(), "ServiceB"); + } + + /** + * Lines 783
    + * createSelfReference(Class<B> businessInterface) ? Returns a + * ServiceReference that can be used to invoke this component over the + * designated service. + * + * @throws Exception + */ + @Test + public void testCreateSelfReference() throws Exception { + Assert.assertEquals(a.getSelfReferenceName(), "ComponentA"); + } + + /** + * Lines 785
    + * getSelfReference(Class<B> businessInterface, String serviceName) - + * Returns a ServiceReference that can be used to invoke this component over + * the designated service. Service name explicitly declares the service name + * to invoke. + * + * @throws Exception + */ + @Test + public void testCreateSelfReferenceWithServiceName() throws Exception { + Assert.assertEquals("ServiceC", b.getSelfReferenceWithServiceName()); + } + + /** + * Lines 788
    + * getProperty (Class<B> type, String propertyName) - Returns the + * value of an SCA property defined by this component. + * + * @throws Exception + */ + @Test + public void testGetProperty() throws Exception { + Assert.assertEquals("PropertyA", a.getProperty()); + } + + /** + * Lines 793
    + * getRequestContext() - Returns the context for the current SCA service + * request, or null if there is no current request or if the context is + * unavailable. + * + * @throws Exception + */ + @Test + public void testGetRequestContext() throws Exception { + Assert.assertEquals("AComponent", a.getRequestContextServiceName()); + Assert.assertEquals("NotNull", a.getRequestContextContent()); + } + + /** + * Lines 790,794
    + * cast(B target) - Casts a type-safe reference to a CallableReference. + * + * @throws Exception + */ + @Test + public void testCast() throws Exception { + Assert.assertEquals("ServiceB", a.getCastCallableReferenceServiceName()); + Assert.assertEquals("ServiceB", a.getCastServiceReferenceServiceName()); + + String check = ""; + try { + a.illegalCast(); + } catch (IllegalArgumentException iae) { + check = "IllegalCast"; + } catch (ServiceRuntimeException sre) { + if (sre.getCause() instanceof IllegalArgumentException) { + check = "IllegalCast"; + } + } + Assert.assertEquals("IllegalCast", check); + } + + /** + * Lines 342-344
    + * When a component implementation needs access to a service where the + * reference to the service is not known at compile time, the reference can + * be located using the component?s ComponentContext. + * + * @throws Exception + */ + @Test + @Ignore("TUSCANY-2609") + public void testServiceLookup() throws Exception { + Assert.assertEquals("ComponentD", a.testServiceLookup()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/conversation/pom.xml b/java/sca-contrib/vtest/java-api/apis/conversation/pom.xml new file mode 100644 index 0000000000..e026dcc800 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/conversation/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-apis + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-apis-conversation + Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - Conversation + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/AComponent.java b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/AComponent.java new file mode 100644 index 0000000000..845c10303e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/AComponent.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.conversation; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service A. + */ +@Conversational +public interface AComponent { + + public String getName(); + + public void testConversation(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/BComponent.java b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/BComponent.java new file mode 100644 index 0000000000..a3148aa0d7 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/BComponent.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.conversation; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.EndsConversation; + +/** + * Simple Service B. + */ +@Conversational +public interface BComponent { + + public String getName(); + + public void testCustomConversationID(); + public void testGeneratedConversationID(Object id); + + @EndsConversation + public void endsConversation(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/AComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/AComponentImpl.java new file mode 100644 index 0000000000..7160121388 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/AComponentImpl.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.conversation.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.conversation.AComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.conversation.BComponent; +import org.junit.Assert; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.Conversation; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AComponent.class) +@Scope("CONVERSATION") +public class AComponentImpl implements AComponent { + + protected ComponentContext componentContext; + + @Reference + protected CallableReference bReference; + + @ConversationID + protected String cid; + + public String getName() { + return "ComponentA"; + } + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public void testConversation() { + ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); + bSR.setConversationID("AConversationID"); + bSR.getService().testCustomConversationID(); + + Conversation bc = bSR.getConversation(); + Assert.assertEquals("AConversationID", bc.getConversationID()); + bc.end(); + + Assert.assertEquals("ComponentB", bReference.getService().getName()); + bReference.getService().testGeneratedConversationID(bReference.getConversation().getConversationID()); + bReference.getConversation().end(); + + Assert.assertEquals(1, BComponentImpl.customInitCount); + Assert.assertEquals(1, BComponentImpl.customDestroyCount); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/BComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/BComponentImpl.java new file mode 100644 index 0000000000..c487559ca1 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/BComponentImpl.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.conversation.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.conversation.BComponent; +import org.junit.Assert; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BComponent.class) +@Scope("CONVERSATION") +public class BComponentImpl implements BComponent { + + public static int customInitCount = 0; + public static int customDestroyCount = 0; + + protected ComponentContext componentContext; + + @ConversationID + protected String cid; + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public String getName() { + return "ComponentB"; + } + + public void testCustomConversationID() { + Assert.assertEquals("AConversationID", cid); + } + + public void testGeneratedConversationID(Object id) { + Assert.assertEquals(id.toString(), cid); + } + + public void endsConversation() { + } + + @Init + public void initB() { + if (cid.equals("AConversationID")) { + customInitCount++; + } + } + + @Destroy + public void destroyB() { + if (cid.equals("AConversationID")) { + customDestroyCount++; + } + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/conversation/src/main/resources/conversation.composite b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/resources/conversation.composite new file mode 100644 index 0000000000..87cab2f479 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/conversation/src/main/resources/conversation.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/apis/conversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/ConversationTestCase.java b/java/sca-contrib/vtest/java-api/apis/conversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/ConversationTestCase.java new file mode 100644 index 0000000000..9b46ac5e08 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/conversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/ConversationTestCase.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.conversation; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * This test class tests the Conversation interface described in 1.7.5 of the + * SCA Java Annotations & APIs Specification 1.0. + */ +public class ConversationTestCase { + + protected static String compositeName = "conversation.composite"; + protected static AComponent a; + protected static BComponent b; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a = ServiceFinder.getService(AComponent.class, "AComponent"); + b = ServiceFinder.getService(BComponent.class, "BComponent"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Lines 941, 942
    + * getConversationID() – Returns the identifier for this conversation. If a + * user-defined identity had been supplied for this reference then its value + * will be returned; otherwise the identity generated by the system when the + * conversation was initiated will be returned.
    + * end() – Ends this conversation. + * + * @throws Exception + */ + @Test + public void testConversation() throws Exception { + a.testConversation(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/pom.xml b/java/sca-contrib/vtest/java-api/apis/exception/pom.xml new file mode 100644 index 0000000000..ef6e5182ee --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-apis + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-apis-exception + Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - Exception + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java new file mode 100644 index 0000000000..90582e88a2 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service A. + */ +@Conversational +public interface AComponent { + + public String getName(); + + public void testConversation(); + public void testCallBack(); + + public boolean testServiceRuntimeException(); + public boolean testServiceUnavailableException(); + + public boolean testCheckedException(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BCallback.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BCallback.java new file mode 100644 index 0000000000..c1c1c6544c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BCallback.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception; + +public interface BCallback { + + public void processResults(String result); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BComponent.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BComponent.java new file mode 100644 index 0000000000..11886277ad --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BComponent.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception; + +import org.oasisopen.sca.annotation.Callback; + +/** + * Simple Service B. + */ +@Callback(BCallback.class) +public interface BComponent { + + public String getName(); + + public void testCallback(); + public void testRedirectedCallback(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/CComponent.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/CComponent.java new file mode 100644 index 0000000000..466a32731a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/CComponent.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service C. + */ +@Conversational +public interface CComponent { + + public String getName(); + + public void testConversation(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java new file mode 100644 index 0000000000..c0aed7a707 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remote Service D. + */ +@Remotable +public interface DComponent { + + public String getName(); + public void testException() throws DException; + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java new file mode 100644 index 0000000000..82873ed96d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception; + +public class DException extends Exception { + + private static final long serialVersionUID = -3819913841563109423L; + + public DException(String message) { + super(message); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java new file mode 100644 index 0000000000..1190e6900f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java @@ -0,0 +1,128 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.AComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.BComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.CComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DException; +import org.junit.Assert; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.ConversationEndedException; +import org.oasisopen.sca.NoRegisteredCallbackException; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.ServiceRuntimeException; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Destroy; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AComponent.class) +@Scope("CONVERSATION") +public class AComponentImpl implements AComponent { + + protected ComponentContext componentContext; + + @Reference + protected CallableReference bReference; + + @Reference + protected ServiceReference cReference; + + @Reference + protected ServiceReference dReference; + + @ConversationID + protected String cid; + + public String getName() { + return "ComponentA"; + } + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public void testConversation() { + ServiceReference cSR = componentContext.getServiceReference(CComponent.class, "cReference"); + cSR.setConversationID("AConversationID"); + Assert.assertEquals("ComponentC", cSR.getService().getName()); + + try { + Thread.sleep(1100); + cSR.getService().testConversation(); + + Assert.fail(); + } catch (InterruptedException ie) { + ie.printStackTrace(); + } catch (ConversationEndedException cee) { + // Expected + } + } + + public void testCallBack() { + ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); + bSR.setCallbackID("ComponentACallBack"); + + try { + bSR.getService().testCallback(); + Assert.fail(); + } catch (NoRegisteredCallbackException e) { + // Expected + } + } + + public boolean testServiceRuntimeException() { + try { + componentContext.getServiceReference(BComponent.class, "dummyBReference").getService().getName(); + } catch (ServiceRuntimeException sre) { + return true; + } + + return false; + } + + public boolean testServiceUnavailableException() { + return false; + } + + public boolean testCheckedException() { + try { + dReference.getService().testException(); + } catch (DException e) { + if (e.getMessage().equals("ADException")) { + return true; + } + } + + return false; + } + + @Destroy + public void destroy() { + System.out.println("This is a Destroy of AComponent .."); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/BComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/BComponentImpl.java new file mode 100644 index 0000000000..eca4b54109 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/BComponentImpl.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.BCallback; +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.BComponent; +import org.junit.Assert; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Service; + +@Service(BComponent.class) +public class BComponentImpl implements BComponent { + + protected ComponentContext componentContext; + + @Callback + protected BCallback callback; + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public String getName() { + return "ComponentB"; + } + + public void testCallback() { + callback = componentContext.getRequestContext().getCallback(); + callback.processResults("CallBackFromB"); + + CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); + Assert.assertEquals("ComponentACallBack", bCR.getCallbackID()); + } + + public void testRedirectedCallback() { + callback = componentContext.getRequestContext().getCallback(); + callback.processResults("RedirectedCallBackFromB"); + + CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); + Assert.assertEquals("RedirectedCallBack", bCR.getCallbackID()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/CComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/CComponentImpl.java new file mode 100644 index 0000000000..57a34716e6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/CComponentImpl.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.CComponent; +import org.junit.Assert; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.ConversationAttributes; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(CComponent.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxIdleTime="1 seconds") +public class CComponentImpl implements CComponent { + + @Context + protected RequestContext requestContext; + + @ConversationID + protected String cid; + + public String getName() { + return "ComponentC"; + } + + public void testConversation() { + Assert.assertEquals("AConversationID", cid); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java new file mode 100644 index 0000000000..c1f5a56a9a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DException; +import org.oasisopen.sca.annotation.Service; + +@Service(DComponent.class) +public class DComponentImpl implements DComponent { + + public String getName() { + return "ComponentD"; + } + + public void testException() throws DException { + throw new DException("ADException"); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/main/resources/exception.composite b/java/sca-contrib/vtest/java-api/apis/exception/src/main/resources/exception.composite new file mode 100644 index 0000000000..5bd933ce96 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/main/resources/exception.composite @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java b/java/sca-contrib/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java new file mode 100644 index 0000000000..da7b1da0fa --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.exception; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * This test class tests the Exceptions described in 1.7.6, 1.7.7, 1.7.8, and 1.7.9 of the SCA Java Annotations & APIs Specification 1.0. + * This also covers 1.5 of the specification. + */ +public class ExceptionTestCase { + + protected static SCADomain domain; + protected static String compositeName = "exception.composite"; + protected static AComponent a; + protected static BComponent b; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + domain = SCADomain.newInstance(compositeName); + a = domain.getService(AComponent.class, "AComponent"); + b = domain.getService(BComponent.class, "BComponent"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + if (domain != null) { + domain.close(); + } + } + + /** + * Lines 951
    + * NoRegisteredCallbackException. + * + * @throws Exception + */ + @Test + public void testNoRegisteredCallbackException() throws Exception { + a.testCallBack(); + } + + /** + * Lines 960
    + * ServiceRuntimeException - This exception signals problems in the management of SCA component execution. + * + * @throws Exception + */ + @Test + public void testServiceRuntimeException() throws Exception { + Assert.assertTrue(a.testServiceRuntimeException()); + } + + /** + * Lines 970
    + * ServiceUnavailableException – This exception signals problems in the interaction with remote services. + * + * @throws Exception + */ + @Test + //@Ignore + public void testServiceUnavailableException() throws Exception { + domain.getComponentManager().stopComponent("AComponent"); + + try { + a.getName(); + } catch (Exception e) { + e.printStackTrace(); + } + + try { + AComponent ac = domain.getService(AComponent.class, "AComponent"); + ac.getName(); + } catch (Exception e) { + e.printStackTrace(); + } + + domain.getComponentManager().startComponent("AComponent"); + } + + /** + * Lines 983
    + * ConversationEndedException. + * + * @throws Exception + */ + @Test + public void testConversationEndedException() throws Exception { + a.testConversation(); + } + + /** + * Lines 360-361
    + * Business exceptions are thrown by the implementation of the called service method, + * and are defined as checked exceptions on the interface that types the service. + * + * @throws Exception + */ + @Test + public void testCheckedException() throws Exception { + Assert.assertTrue(a.testCheckedException()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/pom.xml b/java/sca-contrib/vtest/java-api/apis/pom.xml new file mode 100644 index 0000000000..164c67ebbb --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/pom.xml @@ -0,0 +1,64 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-java-api + 2.0-SNAPSHOT + ../pom.xml + + java-api-apis + pom + + Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + + + default + + true + + + componentcontext + requestcontext + callablereference + servicereference + conversation + exception + + + + diff --git a/java/sca-contrib/vtest/java-api/apis/requestcontext/pom.xml b/java/sca-contrib/vtest/java-api/apis/requestcontext/pom.xml new file mode 100644 index 0000000000..d849fad4fe --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/requestcontext/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-apis + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-apis-requestcontext + Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - RequestContext + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/AComponent.java b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/AComponent.java new file mode 100644 index 0000000000..6fec5cada3 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/AComponent.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext; + +/** + * Simple Service A. + */ +public interface AComponent { + + public String getName(); + + public boolean isJAASSubject(); + public String getServiceName(); + public String getCallbackResult(); + public String getServiceReferenceName(); + public String getCallbackServiceReferenceName(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BCallback.java b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BCallback.java new file mode 100644 index 0000000000..4dd2088f90 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BCallback.java @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext; + +public interface BCallback { + + public String getCallbackName(); + public void processResults(String result); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BComponent.java b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BComponent.java new file mode 100644 index 0000000000..d913e95a53 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BComponent.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext; + +import org.oasisopen.sca.annotation.Callback; + +/** + * Simple Service B. + */ +@Callback(BCallback.class) +public interface BComponent { + + public String getName(); + + public void testCallback(); + public String getServiceReferenceName(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/AComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/AComponentImpl.java new file mode 100644 index 0000000000..5d3cbf6e3d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/AComponentImpl.java @@ -0,0 +1,102 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.impl; + +import javax.security.auth.Subject; + +import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.AComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.BCallback; +import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.BComponent; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(AComponent.class) +public class AComponentImpl implements AComponent, BCallback { + + private static Object monitor = new Object(); + private static String returnMessage = null; + private static CallableReference cbCR; + + protected ComponentContext componentContext; + + @Reference + protected BComponent bReference; + + public String getName() { + return "ComponentA"; + } + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public boolean isJAASSubject() { + return componentContext.getRequestContext().getSecuritySubject() instanceof Subject; + } + + public String getServiceName() { + return componentContext.getRequestContext().getServiceName(); + } + + public String getCallbackResult() { + ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); + String cbID = "ComponentACallBack"; + bSR.setCallbackID(cbID); + bSR.getService().testCallback(); + + // Wait for 30s max. + int count = 0; + synchronized(monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + return returnMessage; + } + + public void processResults(String result) { + returnMessage = result; + cbCR = componentContext.getRequestContext().getServiceReference(); + } + + public String getServiceReferenceName() { + CallableReference aCR = componentContext.getRequestContext().getServiceReference(); + return aCR.getService().getName(); + } + + public String getCallbackServiceReferenceName() { + return cbCR.getService().getCallbackName(); + } + + public String getCallbackName() { + return "CallBackB"; + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/BComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/BComponentImpl.java new file mode 100644 index 0000000000..d358736daa --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/BComponentImpl.java @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.BCallback; +import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.BComponent; +import org.junit.Assert; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Service; + +@Service(BComponent.class) +public class BComponentImpl implements BComponent { + + protected ComponentContext componentContext; + + @Callback + protected BCallback callback; + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public String getName() { + return "ComponentB"; + } + + public void testCallback() { + callback = componentContext.getRequestContext().getCallback(); + callback.processResults("CallBackFromB"); + + CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); + Assert.assertEquals("ComponentACallBack", bCR.getCallbackID()); + } + + public String getServiceReferenceName() { + CallableReference bCR = componentContext.getRequestContext().getServiceReference(); + return bCR.getService().getName(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/resources/requestcontext.composite b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/resources/requestcontext.composite new file mode 100644 index 0000000000..4aa5eeb25a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/main/resources/requestcontext.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/apis/requestcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/RequestContextTestCase.java b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/RequestContextTestCase.java new file mode 100644 index 0000000000..e3b761bd37 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/requestcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/RequestContextTestCase.java @@ -0,0 +1,109 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * This test class tests the RequestContext interface described in 1.7.2 of the + * SCA Java Annotations & APIs Specification 1.0. + */ +public class RequestContextTestCase { + + protected static String compositeName = "requestcontext.composite"; + protected static AComponent a; + protected static BComponent b; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a = ServiceFinder.getService(AComponent.class, "AComponent"); + b = ServiceFinder.getService(BComponent.class, "BComponent"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Lines 858
    + * getSecuritySubject() – Returns the JAAS Subject of the current request. + * + * @throws Exception + */ + @Ignore("TUSCANY-2608") + public void testGetSecuritySubject() throws Exception { + Assert.assertTrue(a.isJAASSubject()); + } + + /** + * Lines 860
    + * getServiceName() – Returns the name of the service on the Java + * implementation the request came in on. + * + * @throws Exception + */ + @Test + public void testGetServiceName() throws Exception { + Assert.assertEquals("AComponent", a.getServiceName()); + } + + /** + * Lines 861, 862
    + * getCallbackReference() – Returns a callable reference to the callback as + * specified by the caller. getCallback() – Returns a proxy for the callback + * as specified by the caller. + * + * @throws Exception + */ + @Test + public void testGetCallback() throws Exception { + Assert.assertEquals("CallBackFromB", a.getCallbackResult()); + } + + /** + * Lines 863
    + * getServiceReference() – When invoked during the execution of a service + * operation, this API MUST return a CallableReference that represents the + * service. When invoked during the execution of a callback operation, this + * API MUST return a CallableReference that represents the callback service. + * + * @throws Exception + */ + @Test + public void testGetServiceReference() throws Exception { + Assert.assertEquals("ComponentA", a.getServiceReferenceName()); + Assert.assertEquals("ComponentB", b.getServiceReferenceName()); + Assert.assertEquals("CallBackB", a.getCallbackServiceReferenceName()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/pom.xml b/java/sca-contrib/vtest/java-api/apis/servicereference/pom.xml new file mode 100644 index 0000000000..1ad6a9c2ec --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-apis + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-apis-servicereference + Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - ServiceReference + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/AComponent.java b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/AComponent.java new file mode 100644 index 0000000000..6de5d6810e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/AComponent.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service A. + */ +@Conversational +public interface AComponent { + + public String getName(); + + public void testConversationID(); + public String getCallbackResult(); + public void redirectCallback(); + public void testGetCallback(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BCallback.java b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BCallback.java new file mode 100644 index 0000000000..f8c5c1272f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BCallback.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; + +public interface BCallback { + + public void processResults(String result); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BComponent.java b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BComponent.java new file mode 100644 index 0000000000..65a444d100 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BComponent.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service B. + */ +@Conversational +@Callback(BCallback.class) +public interface BComponent { + + public String getName(); + + public void testCallback(); + public void testConversationID(); + public void testRedirectedCallback(); + +} diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/CComponent.java b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/CComponent.java new file mode 100644 index 0000000000..28c90e2071 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/CComponent.java @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; + +/** + * Simple Service C. + */ +public interface CComponent extends BCallback { + +} diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/AComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/AComponentImpl.java new file mode 100644 index 0000000000..86dc80a4e1 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/AComponentImpl.java @@ -0,0 +1,119 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.AComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.BCallback; +import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.BComponent; +import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.CComponent; +import org.junit.Assert; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AComponent.class) +@Scope("CONVERSATION") +public class AComponentImpl implements AComponent, BCallback { + + private static Object monitor = new Object(); + private static String returnMessage = null; + + protected ComponentContext componentContext; + + @Reference + protected CallableReference bReference; + + @Reference + protected ServiceReference cReference; + + @ConversationID + protected String cid; + + public String getName() { + return "ComponentA"; + } + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public void testConversationID() { + ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); + bSR.setConversationID("AConversationID"); + bSR.getService().testConversationID(); + + Assert.assertEquals("AConversationID", bSR.getConversation().getConversationID()); + } + + public String getCallbackResult() { + ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); + String cbID = "ComponentACallBack"; + bSR.setCallbackID(cbID); + bSR.getService().testCallback(); + + // Wait for 30s max. + int count = 0; + synchronized(monitor) { + while (returnMessage == null && count++ < 30) { + try { + monitor.wait(1000L); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + return returnMessage; + } + + public void processResults(String result) { + returnMessage = result; + } + + public void redirectCallback() { + ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); + bSR.setCallbackID("RedirectedCallBack"); + bSR.setCallback(cReference); + bSR.getService().testRedirectedCallback(); + } + + public void testGetCallback() { + ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); + bSR.setCallback(cReference); + Assert.assertEquals(cReference, bSR.getCallback()); + + TestObject aCallback = new TestObject(); + bSR.setCallback(aCallback); + Assert.assertEquals(aCallback, bSR.getCallback()); + Assert.assertEquals(1, ((TestObject) bSR.getCallback()).getId()); + + TestObject bCallback = new TestObject(); + bSR.setCallback(bCallback); + Assert.assertEquals(bCallback, bSR.getCallback()); + Assert.assertEquals(2, ((TestObject) bSR.getCallback()).getId()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/BComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/BComponentImpl.java new file mode 100644 index 0000000000..c5af80291e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/BComponentImpl.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.BCallback; +import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.BComponent; +import org.junit.Assert; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BComponent.class) +@Scope("CONVERSATION") +public class BComponentImpl implements BComponent { + + protected ComponentContext componentContext; + + @Callback + protected BCallback callback; + + @ConversationID + protected String cid; + + @Context + public void setComponentContext(ComponentContext context) { + this.componentContext = context; + } + + public String getName() { + return "ComponentB"; + } + + public void testCallback() { + callback = componentContext.getRequestContext().getCallback(); + callback.processResults("CallBackFromB"); + + CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); + Assert.assertEquals("ComponentACallBack", bCR.getCallbackID()); + } + + public void testConversationID() { + Assert.assertEquals("AConversationID", cid); + } + + public void testRedirectedCallback() { + callback = componentContext.getRequestContext().getCallback(); + callback.processResults("RedirectedCallBackFromB"); + + CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); + Assert.assertEquals("RedirectedCallBack", bCR.getCallbackID()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/CComponentImpl.java b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/CComponentImpl.java new file mode 100644 index 0000000000..563d3ceab6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/CComponentImpl.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.impl; + +import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.CComponent; +import org.junit.Assert; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Service; + +@Service(CComponent.class) +public class CComponentImpl implements CComponent { + + @Context + protected RequestContext requestContext; + + public void processResults(String result) { + Assert.assertEquals("RedirectedCallBackFromB", result); + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/TestObject.java b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/TestObject.java new file mode 100644 index 0000000000..ba3edf13ae --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/TestObject.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.impl; + +public class TestObject { + + public static int count = 0; + + private int id; + + public TestObject() { + count++; + id = count; + } + + public int getId() { + return id; + } + +} diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/resources/servicereference.composite b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/resources/servicereference.composite new file mode 100644 index 0000000000..9bded61947 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/main/resources/servicereference.composite @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/apis/servicereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/ServiceReferenceTestCase.java b/java/sca-contrib/vtest/java-api/apis/servicereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/ServiceReferenceTestCase.java new file mode 100644 index 0000000000..fda917d60a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/apis/servicereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/ServiceReferenceTestCase.java @@ -0,0 +1,106 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * This test class tests the ServiceReference interface described in 1.7.4 of + * the SCA Java Annotations & APIs Specification 1.0. + */ +public class ServiceReferenceTestCase { + + protected static String compositeName = "servicereference.composite"; + protected static AComponent a; + protected static BComponent b; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a = ServiceFinder.getService(AComponent.class, "AComponent"); + b = ServiceFinder.getService(BComponent.class, "BComponent"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Lines 915-916
    + * getConversationID() - Returns the id supplied by the user that will be + * associated with conversations initiated through this reference.
    + * setConversationID(Object conversationId) – Set the id to associate with + * any conversation started through this reference. If the value supplied is + * null then the id will be generated by the implementation. Throws an + * IllegalStateException if a conversation is currently associated with this + * reference. + * + * @throws Exception + */ + @Test + public void testConversationID() throws Exception { + a.testConversationID(); + } + + /** + * Lines 917
    + * setCallbackID(Object callbackID) – Sets the callback ID. + * + * @throws Exception + */ + @Test + public void testSetCallbackID() throws Exception { + Assert.assertEquals("CallBackFromB", a.getCallbackResult()); + } + + /** + * Lines 918
    + * getCallback() – Returns the callback object. + * + * @throws Exception + */ + @Test + public void testGetCallback() throws Exception { + a.testGetCallback(); + } + + /** + * Lines 919
    + * setCallback(Object callback) – Sets the callback object. + * + * @throws Exception + */ + @Test + public void testSetCallback() throws Exception { + a.redirectCallback(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/pom.xml b/java/sca-contrib/vtest/java-api/conversation/callback/pom.xml new file mode 100644 index 0000000000..656ee9c3cd --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-conversation-callback + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation - Callback + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AService.java new file mode 100644 index 0000000000..e78736d4df --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AService.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; + +/** + * Simple Service + */ +public interface AService { + + public void testCallback(); + + public void testCallback2(); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AServiceCallback.java new file mode 100644 index 0000000000..f4271d0d92 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AServiceCallback.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +@Conversational +public interface AServiceCallback { + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BService.java new file mode 100644 index 0000000000..d7ecbb7427 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BService.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +@Conversational +@Callback(AServiceCallback.class) +public interface BService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BServiceCallback.java new file mode 100644 index 0000000000..be7ea97eac --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BServiceCallback.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +@Conversational +public interface BServiceCallback { + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CService.java new file mode 100644 index 0000000000..19a8b86f28 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CService.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +@Conversational +@Callback(BServiceCallback.class) +public interface CService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/Utilities.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/Utilities.java new file mode 100644 index 0000000000..15672f9ee0 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/Utilities.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; + +public class Utilities { + + public static void delayQuarterSecond() { + try { + Thread.sleep(250);// millisecs + } catch (InterruptedException ex) { + throw new Error(ex); + } + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/AServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/AServiceCallback.java new file mode 100644 index 0000000000..31479f1848 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/AServiceCallback.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +@Conversational +public interface AServiceCallback { + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/BService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/BService.java new file mode 100644 index 0000000000..b6359f348b --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/BService.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +@Conversational +@Callback(AServiceCallback.class) +public interface BService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); + + public void testCallBack2(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/AServiceImpl.java new file mode 100644 index 0000000000..9e8b64e3b9 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/AServiceImpl.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.BService; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +@Scope("CONVERSATION") +public class AServiceImpl implements AService, AServiceCallback { + + @Reference + protected ServiceReference b; + + private String someState; + + public void callBack(String someState) { + System.out.println("A-callback called with this state => " + someState); + this.someState = someState; + } + + public void testCallback() { + b.getService().testCallBack("Some string"); + int count = 4; + while (someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (someState == null) + Assert.fail("Callback not received by this instance"); + } + + public void testCallback2() { + b.getService().testCallBack2("Some string"); + int count = 4; + while (someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (someState == null) + Assert.fail("Callback not received by this instance"); + } +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/BServiceImpl.java new file mode 100644 index 0000000000..acf262512e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/BServiceImpl.java @@ -0,0 +1,60 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.BService; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl implements BService { + + String someState; + + @Callback + protected CallableReference callback; + + @Context + protected ComponentContext componentContext; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testCallBack(String someState) { + callback.getService().callBack(someState); + } + + public void testCallBack2(String someState) { + AServiceCallback callback = componentContext.getRequestContext().getCallback(); + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/AServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/AServiceCallback.java new file mode 100644 index 0000000000..b1439770da --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/AServiceCallback.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +@Conversational +public interface AServiceCallback { + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/BService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/BService.java new file mode 100644 index 0000000000..dae4152333 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/BService.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +@Conversational +@Callback(AServiceCallback.class) +public interface BService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/CustomCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/CustomCallback.java new file mode 100644 index 0000000000..d1a30fd305 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/CustomCallback.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +@Conversational +public interface CustomCallback { + + public void someMethod(); + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/AServiceImpl.java new file mode 100644 index 0000000000..7732b3865f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/AServiceImpl.java @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.CustomCallback; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +@Scope("CONVERSATION") +public class AServiceImpl implements AService { + + @Reference + protected ServiceReference b; + + @Reference + protected CustomCallback customCallback; + + protected static String someState; + + public void testCallback() { + b.setCallback(customCallback); + b.getService().testCallBack("Some string"); + int count = 4; + while (someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (someState == null) + Assert.fail("Callback not received by this instance"); + } + + public void testCallback2() { + Assert.fail("Should never get here"); + + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/BServiceImpl.java new file mode 100644 index 0000000000..9bda00413b --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/BServiceImpl.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.BService; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl implements BService { + + String someState; + + @Callback + protected AServiceCallback callback; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testCallBack(String someState) { + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/CustomCallbackImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/CustomCallbackImpl.java new file mode 100644 index 0000000000..1bbc1fa4eb --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/CustomCallbackImpl.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.CustomCallback; +import org.oasisopen.sca.annotation.Scope; + +@Scope("CONVERSATION") +public class CustomCallbackImpl implements CustomCallback, AServiceCallback { + + public void someMethod() { + System.out.println("Custom-callback some method called"); + } + + public void callBack(String someState) { + System.out.println("Custom-callback called with this state => " + someState); + AServiceImpl.someState = someState; + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/AServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/AServiceCallback.java new file mode 100644 index 0000000000..6a66e73569 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/AServiceCallback.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +@Conversational +public interface AServiceCallback { + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/BService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/BService.java new file mode 100644 index 0000000000..24dbad3d4a --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/BService.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +@Conversational +@Callback(AServiceCallback.class) +public interface BService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); + + public void testCallBack2(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/AServiceImpl.java new file mode 100644 index 0000000000..b9785fa657 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/AServiceImpl.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.BService; +import org.junit.Assert; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +@Scope("CONVERSATION") +public class AServiceImpl implements AService, AServiceCallback { + + @Reference + protected ServiceReference b; + + @Context + protected RequestContext requestContext; + + private String someState; + + public void callBack(String someState) { + System.out.println("A-callback called with this state => " + someState); + Assert.assertNotNull(requestContext.getServiceReference().getCallbackID()); + this.someState = someState; + } + + public void testCallback() { + b.getService().testCallBack("Some string"); + int count = 4; + while (someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (someState == null) + Assert.fail("Callback not received by this instance"); + } + + public void testCallback2() { + b.getService().testCallBack2("Some string"); + int count = 4; + while (someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (someState == null) + Assert.fail("Callback not received by this instance"); + } +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/BServiceImpl.java new file mode 100644 index 0000000000..dc546a81a0 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/BServiceImpl.java @@ -0,0 +1,60 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.BService; +import org.oasisopen.sca.CallableReference; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl implements BService { + + String someState; + + @Callback + protected CallableReference callback; + + @Context + protected ComponentContext componentContext; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testCallBack(String someState) { + callback.getService().callBack(someState); + } + + public void testCallBack2(String someState) { + AServiceCallback callback = componentContext.getRequestContext().getCallback(); + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/AServiceImpl.java new file mode 100644 index 0000000000..01260c67f1 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/AServiceImpl.java @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +@Scope("CONVERSATION") +public class AServiceImpl implements AService, AServiceCallback { + + @Reference + protected ServiceReference b; + + private String someState; + + public void callBack(String someState) { + System.out.println("A-callback called with this state => " + someState); + this.someState = someState; + } + + public void testCallback() { + b.getService().testCallBack("Some string"); + int count = 4; + while (someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (someState == null) + Assert.fail("Callback not received by this instance"); + } + + public void testCallback2() { + Assert.fail("Should not be called"); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/BServiceImpl.java new file mode 100644 index 0000000000..78dfe7221f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/BServiceImpl.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl implements BService, BServiceCallback { + + String someState; + + @Callback + protected AServiceCallback callback; + + @Reference + protected ServiceReference c; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void callBack(String someState) { + System.out.println("B-callback called with this state => " + someState); + this.someState = someState; + } + + public void testCallBack(String someState) { + + c.getService().testCallBack(someState); + int count = 4; + while (this.someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (this.someState == null) + Assert.fail("Callback not received by this instance"); + + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/CServiceImpl.java new file mode 100644 index 0000000000..6120b815d5 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/CServiceImpl.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +@Scope("CONVERSATION") +public class CServiceImpl implements CService { + + String someState; + + @Callback + protected BServiceCallback callback; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testCallBack(String someState) { + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/AServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/AServiceCallback.java new file mode 100644 index 0000000000..50feee41d6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/AServiceCallback.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * + */ +@Conversational +public interface AServiceCallback { + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BService.java new file mode 100644 index 0000000000..67dd77ce7b --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Local Service + */ +@Conversational +@Callback(AServiceCallback.class) +public interface BService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BServiceCallback.java new file mode 100644 index 0000000000..fd19c8d7b1 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BServiceCallback.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local; + +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service + */ +@Conversational +public interface BServiceCallback { + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/CService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/CService.java new file mode 100644 index 0000000000..c3b2e04ff2 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service + */ +@Conversational +@Callback(BServiceCallback.class) +public interface CService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/AServiceImpl.java new file mode 100644 index 0000000000..0298b39825 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/AServiceImpl.java @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.BService; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +@Scope("CONVERSATION") +public class AServiceImpl implements AService, AServiceCallback { + + @Reference + protected ServiceReference b; + + private String someState; + + public void callBack(String someState) { + System.out.println("A-callback called with this state => " + someState); + this.someState = someState; + } + + public void testCallback() { + b.getService().testCallBack("Some local string"); + int count = 4; + while (someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (someState == null) + Assert.fail("Callback not received by this instance"); + } + + public void testCallback2() { + Assert.fail("Not implemented"); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/BServiceImpl.java new file mode 100644 index 0000000000..4374306609 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/BServiceImpl.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.CService; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl implements BService, BServiceCallback { + + String someState; + + @Callback + protected AServiceCallback callback; + + @Reference + protected ServiceReference c; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void callBack(String someState) { + System.out.println("B-callback called with this state => " + someState); + this.someState = someState; + } + + public void testCallBack(String someState) { + + c.getService().testCallBack(someState); + int count = 4; + while (this.someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (this.someState == null) + Assert.fail("Callback not received by this instance"); + + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/CServiceImpl.java new file mode 100644 index 0000000000..d487c94fd3 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/CServiceImpl.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.CService; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +@Scope("CONVERSATION") +public class CServiceImpl implements CService { + + String someState; + + @Callback + protected BServiceCallback callback; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testCallBack(String someState) { + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/CService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/CService.java new file mode 100644 index 0000000000..164397bf6b --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/CService.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; + +/** + * Simple Service + */ +@Conversational +@Callback(BServiceCallback.class) +public interface CService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/BServiceImpl.java new file mode 100644 index 0000000000..d71c89d565 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/BServiceImpl.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed.CService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl implements BService, BServiceCallback { + + String someState; + + @Callback + protected AServiceCallback callback; + + @Reference + protected ServiceReference c; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void callBack(String someState) { + System.out.println("B-callback called with this state => " + someState); + this.someState = someState; + } + + public void testCallBack(String someState) { + + c.getService().testCallBack(someState); + int count = 4; + while (this.someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (this.someState == null) + Assert.fail("Callback not received by this instance"); + + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/CServiceImpl.java new file mode 100644 index 0000000000..5dcaf9c06f --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/CServiceImpl.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed.CService; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +@Scope("CONVERSATION") +public class CServiceImpl implements CService { + + String someState; + + @Callback + protected BServiceCallback callback; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testCallBack(String someState) { + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback.java new file mode 100644 index 0000000000..4b2ee3a838 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +@Conversational +public interface AServiceCallback { + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback2.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback2.java new file mode 100644 index 0000000000..88059ccb45 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback2.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +@Conversational +public interface AServiceCallback2 { + + public void callBack2(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService.java new file mode 100644 index 0000000000..691dc80632 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +@Conversational +@Callback(AServiceCallback.class) +public interface BService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService2.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService2.java new file mode 100644 index 0000000000..7c691efa8d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService2.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +@Conversational +@Callback(AServiceCallback2.class) +public interface BService2 { + + public void setState(String someState); + + public String getState(); + + public void testCallBack2(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/AServiceImpl.java new file mode 100644 index 0000000000..272484a6f0 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/AServiceImpl.java @@ -0,0 +1,79 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.AServiceCallback2; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.BService2; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +@Scope("CONVERSATION") +public class AServiceImpl implements AService, AServiceCallback , AServiceCallback2 { + + @Reference + protected ServiceReference b; + + @Reference + protected ServiceReference b2; + + + private String someState; + private String someState2; + + public void callBack(String someState) { + System.out.println("A-callback called with this state => " + someState); + this.someState = someState; + } + + public void callBack2(String someState) { + System.out.println("A-callback2 called with this state => " + someState); + this.someState2 = someState; + } + + public void testCallback() { + b.getService().testCallBack("Some string"); + int count = 4; + while (someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (someState == null) + Assert.fail("Callback not received by this instance"); + } + + public void testCallback2() { + b2.getService().testCallBack2("Some string"); + int count = 4; + while (someState2 == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (someState2 == null) + Assert.fail("Callback not received by this instance"); + } +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/BServiceImpl.java new file mode 100644 index 0000000000..d9c4866466 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/BServiceImpl.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.AServiceCallback2; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.BService2; +import org.junit.Assert; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(interfaces= {BService.class,BService2.class}) +@Scope("CONVERSATION") +public class BServiceImpl implements BService, BService2 { + + String someState; + + @Callback + protected AServiceCallback callback; + + @Callback + protected AServiceCallback2 callback2; + + @Callback + protected AServiceCallback2 callback3; + + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testCallBack(String someState) { + callback.callBack(someState); + } + + public void testCallBack2(String someState) { + Assert.assertNotNull(callback3); //Spec lines 670,671 + callback2.callBack2(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/BServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/BServiceCallback.java new file mode 100644 index 0000000000..1c2d20ff94 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/BServiceCallback.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +public interface BServiceCallback { + + public void callBack(String someState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/CService.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/CService.java new file mode 100644 index 0000000000..5dd429077d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/CService.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service + */ +@Remotable +@Conversational +@Callback(BServiceCallback.class) +public interface CService { + + public void setState(String someState); + + public String getState(); + + public void testCallBack(String string); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl.java new file mode 100644 index 0000000000..b263eb869b --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl implements BService, BServiceCallback { + + String someState; + + @Callback + protected AServiceCallback callback; + + @Reference + protected ServiceReference c; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void callBack(String someState) { + System.out.println("B-callback called with this state => " + someState); + this.someState = someState; + } + + public void testCallBack(String someState) { + + c.getService().testCallBack(someState); + int count = 4; + while (this.someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (this.someState != null) + Assert.fail("Callback should NOT have been received by this instance"); + + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl2.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl2.java new file mode 100644 index 0000000000..4f08ac7a1b --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl2.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.junit.Assert; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl2 implements BService, BServiceCallback { + + String someState; + + @Context + protected RequestContext rc; + + @Callback + protected AServiceCallback callback; + + @Reference + protected ServiceReference c; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void callBack(String someState) { + System.out.println("B-callback called with this state => " + someState); + this.someState = someState; + Assert.assertSame("1234", rc.getServiceReference().getCallbackID()); + } + + public void testCallBack(String someState) { + + c.setCallbackID("1234"); + + c.getService().testCallBack(someState); + int count = 4; + while (this.someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (this.someState != null) + Assert.fail("Callback should NOT have been received by this instance"); + + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl3.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl3.java new file mode 100644 index 0000000000..11c896a06d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl3.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl3 implements BService, BServiceCallback { + + String someState; + + @Callback + protected AServiceCallback callback; + + @Reference + protected ServiceReference c; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void callBack(String someState) { + System.out.println("B-callback called with this state => " + someState); + this.someState = someState; + Assert.assertSame(null, callback); + } + + public void testCallBack(String someState) { + + c.getService().testCallBack(someState); + int count = 4; + while (this.someState == null && count > 0) { + Utilities.delayQuarterSecond(); + count--; + } + if (this.someState != null) + Assert.fail("Callback should NOT have been received by this instance"); + + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/CServiceImpl.java new file mode 100644 index 0000000000..00984ae565 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/CServiceImpl.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.BServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.CService; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +@Scope("CONVERSATION") +public class CServiceImpl implements CService { + + String someState; + + @Callback + protected BServiceCallback callback; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testCallBack(String someState) { + callback.callBack(someState); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-accessing.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-accessing.composite new file mode 100644 index 0000000000..802c9c30db --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-accessing.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-custom.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-custom.composite new file mode 100644 index 0000000000..e66ea5d537 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-custom.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-id.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-id.composite new file mode 100644 index 0000000000..4d93d2279d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-id.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-local.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-local.composite new file mode 100644 index 0000000000..cd8c589a59 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-local.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-mixed.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-mixed.composite new file mode 100644 index 0000000000..d2d9956103 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-mixed.composite @@ -0,0 +1,40 @@ + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-multi.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-multi.composite new file mode 100644 index 0000000000..6c69330ce5 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-multi.composite @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackfieldnull.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackfieldnull.composite new file mode 100644 index 0000000000..72c08e8344 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackfieldnull.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackid.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackid.composite new file mode 100644 index 0000000000..144f7f3d00 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackid.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless.composite new file mode 100644 index 0000000000..ace06b245c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback-stateless.composite @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback.composite b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback.composite new file mode 100644 index 0000000000..4623f17ca2 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/main/resources/callback.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/callback/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CallbackTestCase.java b/java/sca-contrib/vtest/java-api/conversation/callback/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CallbackTestCase.java new file mode 100644 index 0000000000..2680370c5b --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/callback/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CallbackTestCase.java @@ -0,0 +1,377 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.oasisopen.sca.ServiceRuntimeException; + +/** + * + */ +public class CallbackTestCase { + + protected static AService aService = null; + + @Before + public void init() throws Exception { + try { + System.out.println("Setting up"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @After + public void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * Lines 529-610 + *

    + * A callback service is a service that is used for asynchronous + * communication from a service provider back to its client in contrast to + * the communication through return values from synchronous operations. + * Callbacks are used by bidirectional services, which are services that + * have two interfaces: • an interface for the provided service • a callback + * interface that must be provided by the client + *

    + * Callbacks may be used for both remotable and local services. Either both + * interfaces of a bidirectional service must be remotable, or both must be + * local. It is illegal to mix the two. There are two basic forms of + * callbacks: stateless callbacks and stateful callbacks. A callback + * interface is declared by using the "@Callback" annotation on a remotable + * service interface, which takes the Java Class object of the interface as + * a parameter. The annotation may also be applied to a method or to a field + * of an implementation, which is used in order to have a callback injected, + * as explained in the next section. + *

    + * 1.6.7.1. Stateful Callbacks A stateful callback represents a specific + * implementation instance of the component that is the client of the + * service. The interface of a stateful callback should be marked as + * conversational. The following example interfaces define an interaction + * over stateful callback. + *

    + * An implementation of the service in this example could use the + * "@Callback" annotation to request that a stateful callback be injected. + * The following is a fragment of an implementation of the example service. + * In this example, the request is passed on to some other component, so + * that the example service acts essentially as an intermediary. Because the + * service is conversation scoped, the callback will still be available when + * the backend service sends back its asynchronous response. + *

    + * This fragment must come from an implementation that offers two services, + * one that it offers to it clients (MyService) and one that is used for + * receiving callbacks from the back end (MyServiceCallback). The client of + * this service would also implement the methods defined in + * MyServiceCallback. + *

    + * Stateful callbacks support some of the same use cases as are supported by + * the ability to pass service references as parameters. The primary + * difference is that stateful callbacks do not require any additional + * parameters be passed with service operations. This can be a great + * convenience. If the service has many operations and any of those + * operations could be the first operation of the conversation, it would be + * unwieldy to have to take a callback parameter as part of every operation, + * just in case it is the first operation of the conversation. It is also + * more natural than requiring the application developers to invoke an + * explicit operation whose only purpose is to pass the callback object that + * should be used. + *

    + * This tests the *remote* bidirectional interfaces option + */ + @Test + public void statefulCallback() throws Exception { + System.out.println("Setting up for callback tests"); + ServiceFinder.init("callback.composite"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + } + + /** + * Lines 529-610 + *

    + * A callback service is a service that is used for asynchronous + * communication from a service provider back to its client in contrast to + * the communication through return values from synchronous operations. + * Callbacks are used by bidirectional services, which are services that + * have two interfaces: • an interface for the provided service • a callback + * interface that must be provided by the client + *

    + * Callbacks may be used for both remotable and local services. Either both + * interfaces of a bidirectional service must be remotable, or both must be + * local. It is illegal to mix the two. There are two basic forms of + * callbacks: stateless callbacks and stateful callbacks. A callback + * interface is declared by using the "@Callback" annotation on a remotable + * service interface, which takes the Java Class object of the interface as + * a parameter. The annotation may also be applied to a method or to a field + * of an implementation, which is used in order to have a callback injected, + * as explained in the next section. + *

    + * 1.6.7.1. Stateful Callbacks A stateful callback represents a specific + * implementation instance of the component that is the client of the + * service. The interface of a stateful callback should be marked as + * conversational. The following example interfaces define an interaction + * over stateful callback. + *

    + * An implementation of the service in this example could use the + * "@Callback" annotation to request that a stateful callback be injected. + * The following is a fragment of an implementation of the example service. + * In this example, the request is passed on to some other component, so + * that the example service acts essentially as an intermediary. Because the + * service is conversation scoped, the callback will still be available when + * the backend service sends back its asynchronous response. + *

    + * This fragment must come from an implementation that offers two services, + * one that it offers to it clients (MyService) and one that is used for + * receiving callbacks from the back end (MyServiceCallback). The client of + * this service would also implement the methods defined in + * MyServiceCallback. + *

    + * Stateful callbacks support some of the same use cases as are supported by + * the ability to pass service references as parameters. The primary + * difference is that stateful callbacks do not require any additional + * parameters be passed with service operations. This can be a great + * convenience. If the service has many operations and any of those + * operations could be the first operation of the conversation, it would be + * unwieldy to have to take a callback parameter as part of every operation, + * just in case it is the first operation of the conversation. It is also + * more natural than requiring the application developers to invoke an + * explicit operation whose only purpose is to pass the callback object that + * should be used. + *

    + * This tests the *local* bidirectional interfaces option + */ + @Test + public void localstatefulCallback() throws Exception { + System.out.println("Setting up for local callback tests"); + ServiceFinder.init("callback-local.composite"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + } + + /** + * Lines 534, 535 + *

    + * Callbacks may be used for both remotable and local services. Either both + * interfaces of a bidirectional service must be remotable, or both must be + * local. It is illegal to mix the two. + *

    + * In this test configuration BServiceCallback is remotable and CService is + * not + */ + @Test(expected = ServiceRuntimeException.class) + @Ignore("TUSCANY-2291") + public void statefulMixedCallback() throws Exception { + System.out.println("Setting up for mixed local/remote callback tests"); + ServiceFinder.init("callback-mixed.composite"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + } + + /** + * Lines 613-615 + *

    + * A stateless callback interface is a callback whose interface is not + * marked as conversational. Unlike stateless services, the client of that + * uses stateless callbacks will not have callback methods routed to an + * instance of the client that contains any state that is relevant to the + * conversation. + *

    + * This test is identical in structure to the stateful test except that + * BServiceCallback is not conversational and we test that the callback is + * NOT routed to the same instance. + */ + @Test + public void statelessCallback() throws Exception { + System.out.println("Setting up for stateless callback tests"); + ServiceFinder.init("callback-stateless.composite"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + } + + /** + * Lines 616-621 + *

    + * The only information that the client has to work with (other than the + * parameters of the callback method) is a callback ID object that is passed + * with requests to the service and is guaranteed to be returned with any + * callback. + *

    + * The following is a repeat of the client code fragment above, but with the + * assumption that in this case the MyServiceCallback is stateless. The + * client in this case needs to set the callback ID before invoking the + * service and then needs to get the callback ID when the response is + * received. + *

    + * Lines 747-755 + *

    + * The identity that is used to identify a callback request is, by default, + * generated by the system. However, it is possible to provide an + * application specified identity that should be used to identify the + * callback by calling the ServiceReference.setCallbackID() method. This can + * be used even either stateful or stateless callbacks. The identity will be + * sent to the service provider, and the binding must guarantee that the + * service provider will send the ID back when any callback method is + * invoked. The callback identity has the same restrictions as the + * conversation ID. It should either be a string or an object that can be + * serialized into XML. Bindings determine the particular mechanisms to use + * for transmission of the identity and these may lead to further + * restrictions when using a given binding. + *

    + * TODO - Need to add explicit test back to stateful for 747-755 + */ + @Test + public void statelessCallback2() throws Exception { + System.out.println("Setting up for stateless callback id tests"); + ServiceFinder.init("callback-stateless-callbackid.composite"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + + } + + /** + * Lines 650-654 + *

    + * The difference for stateless services is that the callback field would + * not be available if the component is servicing a request for anything + * other than the original client. So, the technique used in the previous + * section, where there was a response from the backend Service which was + * forwarded as a callback from MyService would not work because the + * callback field would be null when the message from the backend system was + * received. + *

    + */ + @Test + public void statelessCallback3() throws Exception { + System.out.println("Setting up for stateless callback ref null tests"); + ServiceFinder.init("callback-stateless-callbackfieldnull.composite"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + + } + + /** + * Lines 658-669 + *

    + * Since it is possible for a single implementation class to implement + * multiple services, it is also possible for callbacks to be defined for + * each of the services that it implements. The service implementation can + * include an injected field for each of its callbacks. The runtime injects + * the callback onto the appropriate field based on the type of the + * callback. The following shows the declaration of two fields, each of + * which corresponds to a particular service offered by the implementation. + *

    + * Lines 670,671 + *

    + * If a single callback has a type that is compatible with multiple declared + * callback fields, then all of them will be set. + */ + @Test + public void statefulMultiBidirectional() throws Exception { + System.out.println("Setting up for multi-bidirectional interfaces tests"); + ServiceFinder.init("callback-multi.composite"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + aService.testCallback2(); // Includes test for 670,671 + + } + + /** + * Lines 675-706 + *

    + * In addition to injecting a reference to a callback service, it is also + * possible to obtain a reference to a Callback instance by annotating a + * field or method with the "@Callback" annotation. A reference implementing + * the callback service interface may be obtained using + * CallableReference.getService(). The following fragments come from a + * service implementation that uses the callback API: + *

    + * Alternatively a callback may be retrieved programmatically using the + * RequestContext API. The snippet below show how to retrieve a callback in + * a method programmatically: + *

    + * Lines 695, 696 + *

    + * Alternatively a callback may be retrieved programmatically using the + * RequestContext API. The snippet below show how to retrieve a callback in + * a method programmatically: + */ + @Test + public void accessingCallbacks() throws Exception { + System.out.println("Setting up for callback accessing tests"); + ServiceFinder.init("callback-accessing.composite"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + aService.testCallback2(); // Lines 695-696 + + } + + /** + * Lines 708-724 + *

    + * On the client side, the service that implements the callback can access + * the callback ID (i.e. reference parameters) that was returned with the + * callback operation also by accessing the request context, as follows: + *

    + * On the client side, the object returned by the getServiceReference() + * method represents the service reference that was used to send the + * original request. The object returned by getCallbackID() represents the + * identity associated with the callback, which may be a single String or + * may be an object (as described below in “Customizing the Callback + * Identity”). + */ + @Test + public void callbackId() throws Exception { + System.out.println("Setting up for callback id tests"); + ServiceFinder.init("callback-id.composite"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + + } + + /** + * Lines 728-732 + *

    + * By default, the client component of a service is assumed to be the + * callback service for the bidirectional service. However, it is possible + * to change the callback by using the ServiceReference.setCallback() + * method. The object passed as the callback should implement the interface + * defined for the callback, including any additional SCA semantics on that + * interface such as its scope and whether or not it is remotable. + *

    + * TODO - Need to complete testing of 1.6.7.5 after resolution of t-2312 + */ + @Test + public void customCallback() throws Exception { + System.out.println("Setting up for custom callback tests; create domain instance"); + ServiceFinder.init("callback-custom.composite"); + System.out.println("Setting up for custom callback tests; get AService handle"); + aService = ServiceFinder.getService(AService.class, "AComponent"); + aService.testCallback(); + + } +} diff --git a/java/sca-contrib/vtest/java-api/conversation/id/pom.xml b/java/sca-contrib/vtest/java-api/conversation/id/pom.xml new file mode 100644 index 0000000000..68bfdc7fe1 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-conversation-id + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation - ID + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/AService.java b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/AService.java new file mode 100644 index 0000000000..39719539ba --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/AService.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.id; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +public interface AService { + + public void testAnnotation(); + + public void testAnnotation2(); + + public void testAnnotation3(); + + public void testAnnotation4(); + + public void testAnnotation5(); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/BService.java b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/BService.java new file mode 100644 index 0000000000..b5911101b8 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/BService.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.id; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Local Service + */ +@Remotable +@Conversational +public interface BService { + + public void setState(String someState); + + public String getState(); + + public void testAnnotation(); + + public void testAnnotation2(); + + public void testAnnotation3(); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CService.java b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CService.java new file mode 100644 index 0000000000..1730f863b5 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.id; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Local Service + */ +@Remotable +@Conversational +public interface CService { + + public void setState(String someState); + + public String getState(); + + public void testAnnotation(); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CustomConversationId.java b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CustomConversationId.java new file mode 100644 index 0000000000..ac40c56ee6 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CustomConversationId.java @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.id; + + +public class CustomConversationId { + + int id; + String name; + + public CustomConversationId(int id, String name) { + super(); + this.id = id; + this.name = name; + } + + public String getName() { + return name; + } + + public int getNumber() { + return id; + } + + public void setName(String someName) { + name = someName; + } + + public void setNumber(int someInt) { + id = someInt; + } + + public String toString() { + return "id->" + id + " name->" + name; + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/AServiceImpl.java new file mode 100644 index 0000000000..bac842dfca --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/AServiceImpl.java @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.id.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.id.AService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.id.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.id.CService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.id.CustomConversationId; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +@Scope("CONVERSATION") +public class AServiceImpl implements AService { + + @Reference + protected ServiceReference b; + + @Reference + protected ServiceReference c; + + public void testAnnotation() { + b.getService().testAnnotation(); + } + + public void testAnnotation2() { + b.getService().testAnnotation2(); + } + + public void testAnnotation3() { + b.getService().testAnnotation3(); + } + + public void testAnnotation4() { + CustomConversationId id = new CustomConversationId (1, "One"); + c.setConversationID(id); + c.getService().testAnnotation(); + } + + public void testAnnotation5() { + b.getService().getState(); + Assert.assertNotNull(b.getConversation().getConversationID()); +// Assert.assertNotNull(b.getConversationID()); + + CustomConversationId id = new CustomConversationId (1, "One"); + c.setConversationID(id); + Assert.assertSame(id, c.getConversationID()); + } +} diff --git a/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/BServiceImpl.java new file mode 100644 index 0000000000..3c4eea4bc9 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/BServiceImpl.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.id.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.id.BService; +import org.junit.Assert; +import org.oasisopen.sca.annotation.ConversationAttributes; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge = "1 seconds") +public class BServiceImpl implements BService { + + String someState; + + @ConversationID + protected String conversationID; + + @ConversationID + protected Object conversationID2; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testAnnotation() { + Assert.assertNotNull(conversationID); + System.out.println(conversationID); + } + + public void testAnnotation2() { + Assert.assertNotNull(conversationID2); + System.out.println(conversationID); + } + + public void testAnnotation3() { + Assert.assertTrue(conversationID2 instanceof String); + System.out.println(conversationID); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/CServiceImpl.java new file mode 100644 index 0000000000..1e5a459954 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/CServiceImpl.java @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.id.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.id.CService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.id.CustomConversationId; +import org.junit.Assert; +import org.oasisopen.sca.annotation.ConversationID; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +@Scope("CONVERSATION") +public class CServiceImpl implements CService { + + String someState; + + @ConversationID + protected Object conversationID; + + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void testAnnotation() { + Assert.assertNotNull(conversationID); + Assert.assertTrue(conversationID instanceof CustomConversationId); + + Assert.assertSame(1, ((CustomConversationId)conversationID).getNumber()); + Assert.assertSame("One", ((CustomConversationId)conversationID).getName()); + System.out.println(conversationID); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/id/src/main/resources/conversation-id.composite b/java/sca-contrib/vtest/java-api/conversation/id/src/main/resources/conversation-id.composite new file mode 100644 index 0000000000..25e7154fca --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/src/main/resources/conversation-id.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/id/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/ConversationIDTestCase.java b/java/sca-contrib/vtest/java-api/conversation/id/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/ConversationIDTestCase.java new file mode 100644 index 0000000000..d3cb107a61 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/id/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/ConversationIDTestCase.java @@ -0,0 +1,118 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.id; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * + */ +public class ConversationIDTestCase { + + protected static String compositeName = "conversation-id.composite"; + protected static AService aService = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + + } + + /** + * Lines 504, 505 + *

    + * If a protected or public field or setter method is annotated with + * "@ConversationID", then the conversation ID for the conversation is + * injected onto the field + */ + @Test + public void idAnnotation() throws Exception { + aService.testAnnotation(); + } + + /** + * Lines 505 + *

    + * The type of the field is not necessarily String + */ + @Test + public void idAnnotation2() throws Exception { + aService.testAnnotation2(); + } + + /** + * Lines 505, 506 + *

    + * System generated conversation IDs are always strings + */ + @Test + public void idAnnotation3() throws Exception { + aService.testAnnotation3(); + } + + /** + * Lines 506, 507 + *

    + * ... but application generated conversation IDs may be other complex + * types. + *

    + * Lines 513, 514 + *

    + * ... To do this, the client would not use reference injection, but would + * use the of ServiceReference.setConversationID() API. + */ + @Test + public void idAnnotation4() throws Exception { + aService.testAnnotation4(); + } + + /** + * Lines 522, 523 + *

    + * Whether the conversation ID is chosen by the client or is generated by + * the system, the client may access the conversation ID by calling + * ServiceReference.getConversationID(). + *

    + * This test is following updates to this section of the specification per + * the OASIS TC under issue JAVA-31. The updated text reads: "...by calling + * getConversationID() on the current conversation object". + */ + @Test + public void idAnnotation5() throws Exception { + aService.testAnnotation5(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/pom.xml b/java/sca-contrib/vtest/java-api/conversation/lifetime/pom.xml new file mode 100644 index 0000000000..1d4a2d3c4e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-conversation-lifetime + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation - Lifetime + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AService.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AService.java new file mode 100644 index 0000000000..f5249b3a5b --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AService.java @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +public interface AService { + + public void testConversationStarted(); + + public void testConversationStarted2(); + + public void testConversationContinue(); + + public void testConversationContinue2(); + + public void testConversationContinue3(); + + public void testConversationEnd(); + + public void testConversationEnd2(); + + public void testConversationEnd3(); + + public void testConversationEnd4(); + + public void testConversationEnd5(); + + public void testConversationEnd6(); + + public void testConversationEnd7(); + + public void testConversationEnd8(); + + public void testConversationEnd9(); +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AServiceCallback.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AServiceCallback.java new file mode 100644 index 0000000000..635e6e74d4 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AServiceCallback.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.EndsConversation; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +@Conversational +public interface AServiceCallback { + + @EndsConversation + public void endConversation(); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BService.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BService.java new file mode 100644 index 0000000000..b28a31da38 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BService.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; + +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.EndsConversation; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Local Service + */ +@Remotable +@Conversational +@Callback(AServiceCallback.class) +public interface BService { + + public void setState(String someState); + + public String getState(); + + @EndsConversation + public void endConversation(); + + public void endConversationViaCallback(); + + public void throwNonBusinessException(); + + public void throwBusinessException() throws BServiceBusinessException; + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BServiceBusinessException.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BServiceBusinessException.java new file mode 100644 index 0000000000..ab186ee7eb --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BServiceBusinessException.java @@ -0,0 +1,53 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; + + +/** + * Denotes an error starting the runtime + * + * @version $Rev$ $Date$ + */ +public class BServiceBusinessException extends Exception { + + static final long serialVersionUID = 2096658015909178325L; + + private String message; + + public BServiceBusinessException() { + } + + public BServiceBusinessException(String message) { + super(message); + setMessage(message); + } + + public BServiceBusinessException(Throwable cause) { + super(cause); + setMessage(cause.getMessage()); + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/CService.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/CService.java new file mode 100644 index 0000000000..020d18b862 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/CService.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Local Service + */ +@Remotable +@Conversational +public interface CService { + + public void setState(String someState); + public String getState(); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/DService.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/DService.java new file mode 100644 index 0000000000..c339ebd6ea --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/DService.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; + +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Local Service + */ +@Remotable +@Conversational +public interface DService { + + public void setState(String someState); + public String getState(); + + public void continueConversation(ServiceReference b, Object convId); + public void continueConversation2(String filename, Object id, String serializedState); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/AServiceImpl.java new file mode 100644 index 0000000000..18d592f9d0 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/AServiceImpl.java @@ -0,0 +1,197 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.impl; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectOutputStream; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.AService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BServiceBusinessException; +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.CService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.DService; +import org.junit.Assert; +import org.oasisopen.sca.ComponentContext; +import org.oasisopen.sca.ConversationEndedException; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +@Scope("CONVERSATION") +public class AServiceImpl implements AService, AServiceCallback { + + @Context + public ComponentContext context; + + @Reference + protected ServiceReference b; + + @Reference + protected DService d; + + public void testConversationStarted() { + b.getService().setState("Some state"); + Assert.assertNotNull(b.getConversation().getConversationID()); + } + + public void testConversationStarted2() { + ServiceReference ref = context.getServiceReference(BService.class, "b"); + ref.getService().setState("Some state"); + Assert.assertNotNull(ref.getConversation().getConversationID()); + } + + public void testConversationContinue() { + + b.getService().setState("Some state"); + Object id = b.getConversation().getConversationID(); + b.getService().setState("Some more state"); + Assert.assertEquals(id, b.getConversation().getConversationID()); + } + + public void testConversationContinue2() { + + b.getService().setState("Some state"); + d.continueConversation(b, b.getConversation().getConversationID()); + + } + + public void testConversationContinue3() { + + String serializedState = "Serialized State"; + + String filename = "target/Serialized-Reference.txt"; + b.getService().setState(serializedState); + Object id = b.getConversation().getConversationID(); + writeReference(b, filename); + d.continueConversation2(filename, id, serializedState); + + } + + // Utilities + + private void delayForSeconds(int numSeconds) { + try { + Thread.sleep(numSeconds * 1000);// millisecs + } catch (InterruptedException ex) { + throw new Error(ex); + } + } + + private void writeReference(ServiceReference ref, String filename) { + + FileOutputStream fos = null; + ObjectOutputStream out = null; + try { + fos = new FileOutputStream(filename); + out = new ObjectOutputStream(fos); + out.writeObject(ref); + out.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + + public void testConversationEnd() { + String someState = "Some state"; + b.getService().setState(someState); + b.getService().endConversation(); + Assert.assertNotSame(someState, b.getService().getState()); + } + + public void testConversationEnd2() { + String someState = "Some state"; + b.getService().setState(someState); + b.getService().endConversationViaCallback(); + Assert.assertNotSame(someState, b.getService().getState()); + } + + public void endConversation() { + System.out.println("A-callback to end conversation"); + } + + public void testConversationEnd3() { + String someState = "Some state"; + b.getService().setState(someState); + delayForSeconds(2); + try { + b.getService().getState(); + } catch (ConversationEndedException e) { + b.getConversation().end();// need to clean up to avoid exception + } + Assert.assertNotSame(someState, b.getService().getState()); + } + + public void testConversationEnd4() { + String someState = "Some state"; + b.getService().setState(someState); + b.getConversation().end(); + Assert.assertNotSame(someState, b.getService().getState()); + } + + public void testConversationEnd5() { + String someState = "Some state"; + b.getService().setState(someState); + try { + b.getService().throwNonBusinessException(); + } catch (Error e) { + // Expected + } + Assert.assertNotSame(someState, b.getService().getState()); + } + + public void testConversationEnd6() { + String someState = "Some state"; + b.getService().setState(someState); + Object id = b.getConversation().getConversationID(); + b.getService().endConversation(); + Assert.assertNotSame(someState, b.getService().getState()); + Assert.assertNotSame(id, b.getConversation().getConversationID()); + } + + public void testConversationEnd7() { + b.getService().setState("Some state"); + b.getService().endConversation(); + Assert.assertNull(b.getConversationID()); + } + + public void testConversationEnd8() { + String someState = "Some state"; + b.getService().setState(someState); + delayForSeconds(2); + b.getService().getState(); + } + + public void testConversationEnd9() { + String someState = "Some state"; + b.getService().setState(someState); + try { + b.getService().throwBusinessException(); + } catch (BServiceBusinessException e) { + // Expected + } + Assert.assertSame(someState, b.getService().getState()); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/BServiceImpl.java new file mode 100644 index 0000000000..71e09c38b3 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/BServiceImpl.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.AServiceCallback; +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BServiceBusinessException; +import org.oasisopen.sca.annotation.Callback; +import org.oasisopen.sca.annotation.ConversationAttributes; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +@ConversationAttributes(maxAge="1 seconds") +public class BServiceImpl implements BService { + + String someState; + + @Callback + protected AServiceCallback callback; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void endConversation() { + System.out.println("Someone called Bservice.endsConversation()"); + } + + public void endConversationViaCallback() { + callback.endConversation(); + } + + public void throwNonBusinessException() { + throw new Error(); + } + + public void throwBusinessException() throws BServiceBusinessException { + throw new BServiceBusinessException("Business Exception"); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/CServiceImpl.java new file mode 100644 index 0000000000..e182613932 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/CServiceImpl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.CService; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +@Scope("CONVERSATION") +public class CServiceImpl implements CService { + + String someState; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/DServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/DServiceImpl.java new file mode 100644 index 0000000000..15a4ab3b76 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/DServiceImpl.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.impl; + +import java.io.FileInputStream; +import java.io.IOException; +import java.io.ObjectInputStream; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.DService; +import org.junit.Assert; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(DService.class) +@Scope("CONVERSATION") +public class DServiceImpl implements DService { + + String someState; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public void continueConversation(ServiceReference b, Object convId) { + + b.getService().setState("Some more state"); + Assert.assertEquals(convId, b.getConversation().getConversationID()); + } + + public void continueConversation2(String filename, Object convId, String serializedState) { + ServiceReference b = readReference(filename); + Assert.assertEquals(serializedState, b.getService().getState()); + Assert.assertEquals(convId, b.getConversation().getConversationID()); + } + + // Utilities + @SuppressWarnings("unchecked") + private ServiceReference readReference(String filename) { + ServiceReference b = null; + FileInputStream fis = null; + ObjectInputStream in = null; + try { + fis = new FileInputStream(filename); + in = new ObjectInputStream(fis); + ServiceReference readObject = (ServiceReference)in.readObject(); + b = readObject; + in.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } catch (ClassNotFoundException ex) { + ex.printStackTrace(); + } + return b; + } +} diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite new file mode 100644 index 0000000000..21ee8acac1 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/lifetime/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/LifetimeTestCase.java b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/LifetimeTestCase.java new file mode 100644 index 0000000000..52c11b881c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/lifetime/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/LifetimeTestCase.java @@ -0,0 +1,216 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.oasisopen.sca.ConversationEndedException; + +/** + * + */ +public class LifetimeTestCase { + + protected static String compositeName = "lifetime.composite"; + protected static AService aService = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + + } + + /** + * Lines 475, 476 + *

    + * Conversations start on the client side when one of the following occur: A + * "@Reference" to a conversational service is injected, ... and then a + * method of the service is called + */ + @Test + public void lifetime1() throws Exception { + aService.testConversationStarted(); + } + + /** + * Lines 477, 478, 479 + *

    + * Conversations start on the client side when one of the following occur + * ... A call is made to CompositeContext.getServiceReference and then a + * method of the service is called. + */ + @Test + //@Ignore("TUSCANY-2243") + public void lifetime2() throws Exception { + aService.testConversationStarted2(); + } + + /** + * Line 481, 482 + *

    + * The client can continue an existing conversation, by: Holding the service + * reference that was created when the conversation started + */ + @Test + public void lifetime3() throws Exception { + aService.testConversationContinue(); + } + + /** + * Line 481, 483 + *

    + * The client can continue an existing conversation, by: ... • Getting the + * service reference object passed as a parameter from another service, even + * remotely + */ + @Test + public void lifetime4() throws Exception { + // aService.testConversationContinue2(); + } + + /** + * Line 481, 484 + *

    + * The client can continue an existing conversation, by:
    • Loading a + * service reference that had been written to some form of persistent + * storage + */ + @Test + public void lifetime6() throws Exception { + aService.testConversationContinue3(); + } + + /** + * Line 487, 488 + *

    + * A conversation ends, and any state associated with the conversation is + * freed up, when:
    + * ...A server operation that has been annotated "@EndConveration" has been + * called + */ + @Test + public void lifetime7() throws Exception { + aService.testConversationEnd(); + } + + /** + * Line 487, 489 + *

    + * A conversation ends, and any state associated with the conversation is + * freed up, when:
    + * ...The server calls an "@EndsConversation" method on the "@Callback" + * reference
    + */ + @Test + public void lifetime8() throws Exception { + aService.testConversationEnd2(); + } + + /** + * Line 487, 490 + *

    + * 487 A conversation ends, and any state associated with the conversation + * is freed up, when:
    + * ... The server's conversation lifetime timeout occurs + */ + @Test + public void lifetime9() throws Exception { + aService.testConversationEnd3(); + } + + /** + * Line 487, 491 + *

    + * A conversation ends, and any state associated with the conversation is + * freed up, when:
    + * ...The client calls Conversation.end() + */ + @Test + public void lifetime10() throws Exception { + aService.testConversationEnd4(); + } + + /** + * Line 487, 492 + *

    + * A conversation ends, and any state associated with the conversation is + * freed up, when:
    + * ...Any non-business exception is thrown by a conversational operation + */ + @Test + //@Ignore("TUSCANY-2283") + public void lifetime11() throws Exception { + aService.testConversationEnd5(); + aService.testConversationEnd9(); + } + + /** + * Line 494, 495 + *

    + * If a method is invoked on a service reference after an + * "@EndsConversation" method has been called then a new conversation will + * automatically be started. + */ + @Test + public void lifetime12() throws Exception { + aService.testConversationEnd6(); + } + + /** + * Line 495, 496, 497 + *

    + * If ServiceReference.getConversationID() is called after the + * "@EndsConversation" method: is called, but before the next conversation + * has been started, it will return null. + */ + @Test + public void lifetime13() throws Exception { + aService.testConversationEnd7(); + } + + /** + * Line 498, 499 + *

    + * If a service reference is used after the service provider's conversation + * timeout has caused the conversation to be ended, then + * ConversationEndedException will be thrown. + */ + @Test(expected = ConversationEndedException.class) + public void lifetime14() throws Exception { + aService.testConversationEnd8(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/parameters/pom.xml b/java/sca-contrib/vtest/java-api/conversation/parameters/pom.xml new file mode 100644 index 0000000000..dba54f0f4c --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/parameters/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + java-api-annotations + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-conversation-parameters + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation - Parameters + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/AService.java b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/AService.java new file mode 100644 index 0000000000..bd19b504d9 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/AService.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters; + +/** + * Simple Remotable Service + */ +public interface AService { + + public void setBStateThenGetCState(); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/BService.java b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/BService.java new file mode 100644 index 0000000000..c404b91673 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/BService.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters; + +import org.oasisopen.sca.annotation.Conversational; +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Local Service + */ +@Remotable +@Conversational +public interface BService { + + public void setState(String someState); + public String getState(); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/CService.java b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/CService.java new file mode 100644 index 0000000000..d9f32dcfea --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/CService.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters; + +import org.oasisopen.sca.ServiceReference; + +/** + * Simple Local Service + */ +public interface CService { + + public void setState(String someState); + public String getState(); + public Object continueConversation(ServiceReference bref); + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/AServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/AServiceImpl.java new file mode 100644 index 0000000000..920d1294b3 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/AServiceImpl.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.impl; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.AService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.CService; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + protected ServiceReference b; + + @Reference + protected CService c; + + public void setBStateThenGetCState() { + String someState = "set by A"; + b.getService().setState(someState); + Assert.assertEquals(someState, c.continueConversation(b)); + } + + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/BServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/BServiceImpl.java new file mode 100644 index 0000000000..98cf59c084 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/BServiceImpl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.BService; +import org.oasisopen.sca.annotation.Scope; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +@Scope("CONVERSATION") +public class BServiceImpl implements BService { + + String someState; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/CServiceImpl.java b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/CServiceImpl.java new file mode 100644 index 0000000000..5f223dfcf0 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/CServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.impl; + +import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.BService; +import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.CService; +import org.oasisopen.sca.ServiceReference; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + String someState; + + public void setState(String someState) { + this.someState = someState; + } + + public String getState() { + return someState; + } + + public String continueConversation(ServiceReference bref) { + return bref.getService().getState(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/resources/parameters.composite b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/resources/parameters.composite new file mode 100644 index 0000000000..a8500dfb09 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/parameters/src/main/resources/parameters.composite @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/java-api/conversation/parameters/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/ConversationParametersTestCase.java b/java/sca-contrib/vtest/java-api/conversation/parameters/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/ConversationParametersTestCase.java new file mode 100644 index 0000000000..929fe06115 --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/parameters/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/ConversationParametersTestCase.java @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * This test class tests the Service annotation described in section 1.2.1 and + * 1.8.17 + */ +public class ConversationParametersTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "parameters.composite"; + protected static AService aService = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + aService = ServiceFinder.getService(AService.class, "AComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + @AfterClass + public static void destroy() throws Exception { + + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + + } + + /** + * Line 423, 424, 425:
    + *

    + * The service reference which represents a single conversation can be + * passed as a parameter to another service, even if that other service is + * remote. This may be used in order to allow one component to continue a + * conversation that had been started by another. + */ + @Test + public void passParameter1() throws Exception { + aService.setBStateThenGetCState(); + } + +} diff --git a/java/sca-contrib/vtest/java-api/conversation/pom.xml b/java/sca-contrib/vtest/java-api/conversation/pom.xml new file mode 100644 index 0000000000..08fa85c79d --- /dev/null +++ b/java/sca-contrib/vtest/java-api/conversation/pom.xml @@ -0,0 +1,63 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-java-api + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api-conversation + pom + + Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + + + + default + + true + + + parameters + lifetime + id + callback + + + + diff --git a/java/sca-contrib/vtest/java-api/pom.xml b/java/sca-contrib/vtest/java-api/pom.xml new file mode 100644 index 0000000000..9b5e957b6e --- /dev/null +++ b/java/sca-contrib/vtest/java-api/pom.xml @@ -0,0 +1,70 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-vtest + 2.0-SNAPSHOT + ../pom.xml + + vtest-java-api + pom + Apache Tuscany SCA Java APIs and Annotations Verification Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + vtest-utilities + 2.0-SNAPSHOT + runtime + + + + + + + + default + + true + + + annotations + apis + conversation + + + + + diff --git a/java/sca-contrib/vtest/pom.xml b/java/sca-contrib/vtest/pom.xml new file mode 100644 index 0000000000..a49648244b --- /dev/null +++ b/java/sca-contrib/vtest/pom.xml @@ -0,0 +1,56 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0-SNAPSHOT + ../pom.xml + + tuscany-vtest + pom + Apache Tuscany SCA Specification Verification Tests + + + + junit + junit + 4.5 + compile + + + + + + default + + true + + + java-api + wsbinding + utilities + assembly + + + + + diff --git a/java/sca-contrib/vtest/processcomments.rb b/java/sca-contrib/vtest/processcomments.rb new file mode 100644 index 0000000000..b7a7fc1cc3 --- /dev/null +++ b/java/sca-contrib/vtest/processcomments.rb @@ -0,0 +1,198 @@ +=begin + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +Scans java test source files, recursively from the current directory, +and produces a list of test metods sorted by specification line number. + +The implementation makes heavy use of my scant knowledge of regex. I'll +comeback and clean this up as time allows. + +Assumes a test comment convention like this: + + /** + * Lines 410,411,412,413: + *

    + * A method of a conversational interface may be marked with an + * "@EndsConversation" annotation. Once a method marked with + * "@EndsConversation" has been called, the conversation between client and + * service provider is at an end, which implies no further methods may be + * called on that service within the *same* conversation. + */ + @Test + public void atEndsConversation1() throws Exception { + +Example command line usage +>ruby processcomments.rb > comment_scan.txt + +Current output is formatted for a cwiki page and can be directly pasted to a blank page + +Some TODO's: + Add logic to process number ranges such as "Lines 523-556" or "Lines 523 to 556" +=end +class TestMethod + + attr_accessor :lines_tested, :first_line_tested + + def initialize(text, parent) + @text = text + @parent = parent + @lines_tested = init_lines_tested + @first_line_tested = @lines_tested.first + end + + #Define sort criteria + def <=>(test_method) + @first_line_tested.<=>(test_method.first_line_tested) + end + + def name + regex = /void\s*\S*\(\) / + str = @text[regex] + str.sub(/void\s*/, '') + end + + def init_lines_tested + lines_regex = /Line.*?$/ + lines_array = @text.scan(lines_regex) + nums_regex = /\d{1,4}/ + line_numbers = Array.new + lines_array.each do |line_text| + number_strings =line_text.scan(nums_regex) + number_strings.each {|num_string| line_numbers< + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-vtest + 2.0-SNAPSHOT + ../pom.xml + + vtest-utilities + Apache Tuscany SCA Verification Tests - Utilities + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + wsdl4j + wsdl4j + 1.6.2 + + + + + diff --git a/java/sca-contrib/vtest/utilities/src/main/java/org/apache/tuscany/sca/vtest/utilities/ServiceFinder.java b/java/sca-contrib/vtest/utilities/src/main/java/org/apache/tuscany/sca/vtest/utilities/ServiceFinder.java new file mode 100644 index 0000000000..9b6792e51b --- /dev/null +++ b/java/sca-contrib/vtest/utilities/src/main/java/org/apache/tuscany/sca/vtest/utilities/ServiceFinder.java @@ -0,0 +1,104 @@ +/* + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.utilities; + +import java.util.List; + +import javax.wsdl.Definition; +import javax.wsdl.WSDLException; +import javax.wsdl.factory.WSDLFactory; +import javax.wsdl.xml.WSDLReader; + +import org.apache.tuscany.sca.assembly.Binding; +import org.apache.tuscany.sca.assembly.ComponentService; +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * + * + */ +public class ServiceFinder { + + private static SCADomain domain; + + protected ServiceFinder() { + super(); + } + + public static void init(String compositeFileName) { + if (domain != null) + System.out.println("VTEST WARNING: domain already exists and is will be overwritten!"); + domain = SCADomain.newInstance(compositeFileName); + } + + + public static B getService(Class businessInterface, String serviceName) { + return domain.getService(businessInterface, serviceName); + } + + public static void cleanup() { + domain.close(); + domain = null; + } + + private static String getUri(String component, String service, String binding) { + + List csList = domain.getComponentManager().getComponent(component).getServices(); + + for (int i = 0; i < csList.size(); i++) { + ComponentService cs = csList.get(i); + if (service.equals(cs.getName())) { + List bList = cs.getBindings(); + for (int j = 0; j < bList.size(); j++) { + String bName = bList.get(j).getName(); + if (bName.equals(binding)) { + String bUri = bList.get(j).getURI(); + System.out.println(component + "/" + service + "-> binding name: " + bName + ", uri: " + bUri); + return bUri; + } + } + } + } + return null; + } + + public static Definition getWSDLDefinition(String component, String service) { + return getWSDLDefinition(component, service, service); + } + + public static Definition getWSDLDefinition(String component, String service, String binding) { + + String uri = getUri(component, service, binding); + + if (uri == null) + return null; + + try { + WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); + wsdlReader.setFeature("javax.wsdl.verbose",false); + wsdlReader.setFeature("javax.wsdl.importDocuments",true); + return wsdlReader.readWSDL(uri + "?wsdl"); + } catch (WSDLException e) { + e.printStackTrace(System.out); + } + return null; + } + + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/pom.xml b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/pom.xml new file mode 100644 index 0000000000..93281db150 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-nowsdl + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl-defaultbinding + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL Default Binding + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java new file mode 100644 index 0000000000..b99ced1e17 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java new file mode 100644 index 0000000000..77c7bd4071 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java new file mode 100644 index 0000000000..b1979b99d9 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java new file mode 100644 index 0000000000..9a99700550 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java new file mode 100644 index 0000000000..862dd78735 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java new file mode 100644 index 0000000000..225476ada0 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java new file mode 100644 index 0000000000..9c5908f34e --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java new file mode 100644 index 0000000000..9bda9468f5 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite new file mode 100644 index 0000000000..39d66fa365 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java new file mode 100644 index 0000000000..b50774cfa9 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java @@ -0,0 +1,112 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.2.2 of SCA Web Services Binding V1.00 + * + * @TODO - will add following tests
    + *

  • promoted service
  • + *
  • with complex type object
  • + */ +public class NoWsdlDefaultBindingTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdl.composite"; + protected static AService a; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a = ServiceFinder.getService(AService.class, "AComponent"); + d = ServiceFinder.getService(DService.class, "DComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 169-181:
    + * 2.2.2 Examples Without a WSDL Document
    + * The next example shows the simplest form of the binding element without + * WSDL document,
    + * ...
    + * which itself uses all the defaults.
    + */ + @Test + public void testNoWsdl1() throws Exception { + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(4000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + } + + /** + * Lines 169-181:
    + * Test two references using binding.ws but without WSDL documents.
    + */ + @Test + public void testNoWsdl2() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml new file mode 100644 index 0000000000..56356ce487 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-nowsdl + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl-multisoapbindings + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL Multi Soap Bindings + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java new file mode 100644 index 0000000000..1edeea95a3 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java new file mode 100644 index 0000000000..007ff62f17 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java new file mode 100644 index 0000000000..63049ac3df --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java new file mode 100644 index 0000000000..1a8d4671aa --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java new file mode 100644 index 0000000000..abed24390e --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java new file mode 100644 index 0000000000..aba7748bb0 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java new file mode 100644 index 0000000000..c7bf86e5eb --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java new file mode 100644 index 0000000000..9f6ff73355 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite new file mode 100644 index 0000000000..8cd599354a --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java new file mode 100644 index 0000000000..ae058cf6c9 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java @@ -0,0 +1,162 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.wsdl.Binding; +import javax.wsdl.Definition; +import javax.wsdl.Port; +import javax.wsdl.Service; +import javax.wsdl.extensions.http.HTTPAddress; +import javax.wsdl.extensions.http.HTTPBinding; +import javax.wsdl.extensions.soap.SOAPAddress; +import javax.wsdl.extensions.soap.SOAPBinding; +import javax.wsdl.extensions.soap12.SOAP12Address; +import javax.wsdl.extensions.soap12.SOAP12Binding; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section 2.3.2 of SCA Web Services Binding V1.00 + */ +public class GeneratedWSDLTestCase { + + protected static String compositeName = "nowsdlmultisoapbindings.composite"; + protected static Definition cWSDL = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + cWSDL = ServiceFinder.getWSDLDefinition("CComponent", "CService"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + private Map getPorts(Definition wsdl, String service) { + String targetNamespace = wsdl.getTargetNamespace(); + HashMap sMap = (HashMap) wsdl.getServices(); + for (Iterator i = sMap.keySet().iterator(); i.hasNext();) { + Object k1 = i.next(); + Service s = (Service) sMap.get(k1); + String qName = "{" + targetNamespace + "}" + service; + if (s.getQName().toString().equals(qName)) { + return s.getPorts(); + } + // Don't why implmentation changed to add Service at the end of qname + if (s.getQName().toString().equals(qName + "Service")) { + return s.getPorts(); + } + } + return null; + } + + /** + * Lines 262-264:
    + * The WSDL service has one or more ports for each web service binding on + * the SCA service that has a SOAP requirement, or that refers to an + * existing WSDL binding, depending on the requirements of the web service + * binding. Each of those ports has a single binding.

    + * Each service has following bindings:
    + *

  • SoapBinding - PortType and SOAP11
  • + *
  • SOAP12Binding - SOAP12
  • + *
  • HTTPBinding - Http
  • + *
    and following ports:
    + *
  • SoapAddress
  • + *
  • SOAP12Address
  • + *
  • HTTPAddress
  • + */ + @Test + @Ignore + // Only generate SOAP port and binding + public void testMultiSoapBindings4() throws Exception { + + Map pMap = getPorts(cWSDL, "CService"); + int numSoapPort = 0; + int numSoap12Port = 0; + int numHttpPort = 0; + for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { + Object k2 = iter.next(); + Port p = (Port) pMap.get(k2); + List eeList = p.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object address = eeList.get(i); + if (address instanceof SOAPAddress) { + numSoapPort++; + } else if (address instanceof SOAP12Address) { + numSoap12Port++; + } else if (address instanceof HTTPAddress) { + numHttpPort++; + }; + } + } + + Map cMap = cWSDL.getBindings(); + int numSoapBinding = 0; + int numSoap12Binding = 0; + int numHttpBinding = 0; + for (Iterator iter = cMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) cMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + numSoapBinding++; + } else if (binding instanceof SOAP12Binding) { + numSoap12Binding++; + } else if (binding instanceof HTTPBinding) { + numHttpBinding++; + } + } + } + + System.out.println("testMultiSoapBindings4"); + System.out.println(" # of SOAPPort: " + numSoapPort); + System.out.println(" # of SOAP12Port: " + numSoap12Port); + System.out.println(" # of HTTPPort: " + numHttpPort); + System.out.println(" # of SOAPBinding: " + numSoapBinding); + System.out.println(" # of SOAP12Binding: " + numSoap12Binding); + System.out.println(" # of HTTPBinding: " + numHttpBinding); + + Assert.assertEquals(numSoapPort, 1); + Assert.assertTrue(numSoap12Port > 0); + Assert.assertTrue(numSoapBinding > 0); + Assert.assertEquals(numSoap12Binding, 1); + // Skipped to test HTTP + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java new file mode 100644 index 0000000000..5dbb696bf5 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java @@ -0,0 +1,213 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.2.2 and 2.3.2 of SCA Web Services + * Binding V1.00 + */ +public class NoWsdlMultiSoapBindingsTestCase { + + protected static String compositeName = "nowsdlmultisoapbindings.composite"; + protected static AService a1; + protected static AService a2; + protected static AService a3; + protected static AService a4; + protected static DService d1; + protected static DService d2; + protected static DService d3; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a1 = ServiceFinder.getService(AService.class, "AComponent1"); + a2 = ServiceFinder.getService(AService.class, "AComponent2"); + a3 = ServiceFinder.getService(AService.class, "AComponent3"); + a4 = ServiceFinder.getService(AService.class, "AComponent4"); + d1 = ServiceFinder.getService(DService.class, "DComponent1"); + d2 = ServiceFinder.getService(DService.class, "DComponent2"); + d3 = ServiceFinder.getService(DService.class, "DComponent3"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 201-225:
    + * The next example shows the use of the binding element without a WSDL + * document, with multiple SOAP bindings with non-default values. The SOAP + * 1.2 binding name defaults to the service name, the SOAP 1.1 binding is + * given an explicit name. The reference has a web service binding which + * uses SOAP 1.2, but otherwise uses all the defaults for SOAP binding. + * The reference binding name defaults to the reference name.

    + * Line 253:
    + *

  • soap
  • + * ...
    + * version, including multiple versions.
    + *

    + * AComponent1 - no requires
    + * AComponent2 - requires = soap
    + * AComponent3 - requires = soap.1_1
    + * AComponent4 - requires = soap.1_2
    + */ + @Test + public void testMultiSoapBindings1() throws Exception { + + String aName = a1.getName(); + String b1Str1 = a1.getB1String("string1"); + String b1Str2 = a1.getB1String2("string2", "string3"); + int b1Int = a1.getB1Int(1000); + + System.out.println("AComponent1: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(1000, b1Int); + + aName = a2.getName(); + b1Str1 = a2.getB1String("string1"); + b1Str2 = a2.getB1String2("string2", "string3"); + b1Int = a2.getB1Int(2000); + + System.out.println("AComponent2: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(2000, b1Int); + + aName = a3.getName(); + b1Str1 = a3.getB1String("string1"); + b1Str2 = a3.getB1String2("string2", "string3"); + b1Int = a3.getB1Int(3000); + + System.out.println("AComponent3: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(3000, b1Int); + + aName = a4.getName(); + b1Str1 = a4.getB1String("string1"); + b1Str2 = a4.getB1String2("string2", "string3"); + b1Int = a4.getB1Int(4000); + + System.out.println("AComponent4: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + + } + + /** + * Lines 201-225, 262-264:
    + * The WSDL service has one or more ports for each web service binding on + * the SCA service that has a SOAP requirement, or that refers to an + * existing WSDL binding, depending on the requirements of the web service + * binding. Each of those ports has a single binding.
    + *

    + * Test multiple SOAP bindings with two references which use different versions.
    + */ + @Test + public void testMultiSoapBindings2() throws Exception { + + String dName = d1.getName(); + String b1Str1 = d1.getB1String("string1"); + String b1Str2 = d1.getB1String2("string2", "string3"); + String c1Str1 = d1.getC1String("string5"); + String c1Str2 = d1.getC1String2("string6", "string7"); + int b1Int = d1.getB1Int(4000); + float c1Float = d1.getC1Float((float) 8.8); + Integer c1Integer = d1.getC1Integer(new Integer(9001)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9001), c1Integer); + + dName = d2.getName(); + b1Str1 = d2.getB1String("string1"); + b1Str2 = d2.getB1String2("string2", "string3"); + c1Str1 = d2.getC1String("string5"); + c1Str2 = d2.getC1String2("string6", "string7"); + b1Int = d2.getB1Int(4000); + c1Float = d2.getC1Float((float) 8.8); + c1Integer = d2.getC1Integer(new Integer(9002)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9002), c1Integer); + } + + /** + * Lines 201-225, 262-264:
    + * Test multiple SOAP bindings with promoted services and references.
    + */ + @Test + public void testMultiSoapBindings3() throws Exception { + + String dName = d3.getName(); + String b1Str1 = d3.getB1String("string1"); + String b1Str2 = d3.getB1String2("string2", "string3"); + String c1Str1 = d3.getC1String("string5"); + String c1Str2 = d3.getC1String2("string6", "string7"); + int b1Int = d3.getB1Int(4000); + float c1Float = d3.getC1Float((float) 8.8); + Integer c1Integer = d3.getC1Integer(new Integer(9003)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9003), c1Integer); + + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/pom.xml b/java/sca-contrib/vtest/wsbinding/nowsdl/pom.xml new file mode 100644 index 0000000000..e40a4270c7 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/pom.xml @@ -0,0 +1,69 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl + pom + + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + vtest-utilities + 2.0-SNAPSHOT + runtime + + + + + + + default + + true + + + defaultbinding + soapversion + multisoapbindings + promoted + + + + diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/pom.xml b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/pom.xml new file mode 100644 index 0000000000..63dc9ad5f6 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-nowsdl + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl-promoted + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL Promoted Service and Reference + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java new file mode 100644 index 0000000000..d786f36db1 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java new file mode 100644 index 0000000000..d4ebfcfe37 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java new file mode 100644 index 0000000000..7289714ed2 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java new file mode 100644 index 0000000000..e0c58088da --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP11 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java new file mode 100644 index 0000000000..e279b1d55d --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP12 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java new file mode 100644 index 0000000000..9aaba29629 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java new file mode 100644 index 0000000000..35291dc402 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java new file mode 100644 index 0000000000..0bc776b06d --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java new file mode 100644 index 0000000000..8ebf27bdb1 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java new file mode 100644 index 0000000000..22247f8372 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP11.class) +public class BServiceSOAP11Impl implements BServiceSOAP11 { + + public String getName() { + return "BServiceSOAP11"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java new file mode 100644 index 0000000000..4fbc82227c --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP12; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP12.class) +public class BServiceSOAP12Impl implements BServiceSOAP12 { + + public String getName() { + return "BServiceSOAP12"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java new file mode 100644 index 0000000000..83f6746a5f --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP.class) +public class BServiceSOAPImpl implements BServiceSOAP { + + public String getName() { + return "BServiceSOAP"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java new file mode 100644 index 0000000000..ec6611fae4 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java new file mode 100644 index 0000000000..4b488c376e --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite new file mode 100644 index 0000000000..f79df5bf8f --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java new file mode 100644 index 0000000000..ae7dafa46e --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding + * V1.00 + */ +public class NoWsdlPromoted1TestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlpromoted.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 251-253, 287-291:
    + *

  • soap
  • + * This indicates that a SOAP binding is required. The SOAP binding may be + * of any SOAP version, including multiple versions.
    + *
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.
    + *

    + * Tests promoted services and references
    + */ + @Test + public void testSoapVersion1() throws Exception { + + for (int i = 0; i < 8; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java new file mode 100644 index 0000000000..a4744b9007 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java @@ -0,0 +1,118 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding + * V1.00 + */ +public class NoWsdlPromoted2TestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlpromoted.composite"; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + d = ServiceFinder.getService(DService.class, "DComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 254-257, 287-291:
    + *

  • soap.1_1

  • + * A SOAP 1.1 binding only is required.
    + *
  • soap.1_2

  • + * A SOAP 1.2 binding only is required.
    + *
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.
    + *

    + * Tests promoted services and references
    + */ + @Test + public void testSoapVersion2() throws Exception { + + for (int i = 8; i < 16; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + /** + * Lines 254-257, 287-291:
    + * Test two references using binding.ws with 2 different SOAP versions + * and without WSDL document.
    + */ + @Test + public void testSoapVersion3() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/pom.xml b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/pom.xml new file mode 100644 index 0000000000..1334e35880 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-nowsdl + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-nowsdl-soapversion + Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL SOAP Version + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java new file mode 100644 index 0000000000..e78c977ef0 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java new file mode 100644 index 0000000000..1d95f089c9 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java new file mode 100644 index 0000000000..45d10bbd45 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java new file mode 100644 index 0000000000..f55e23012f --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP11 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java new file mode 100644 index 0000000000..91c9860b98 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BServiceSOAP12 { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java new file mode 100644 index 0000000000..99d4f7b09f --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java new file mode 100644 index 0000000000..e95fae6877 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java new file mode 100644 index 0000000000..a313b769e5 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + public BService b1; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java new file mode 100644 index 0000000000..3baf691d88 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java new file mode 100644 index 0000000000..965e195ae3 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP11.class) +public class BServiceSOAP11Impl implements BServiceSOAP11 { + + public String getName() { + return "BServiceSOAP11"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java new file mode 100644 index 0000000000..69e7edcc68 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP12; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP12.class) +public class BServiceSOAP12Impl implements BServiceSOAP12 { + + public String getName() { + return "BServiceSOAP12"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java new file mode 100644 index 0000000000..7e8294f778 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP; +import org.oasisopen.sca.annotation.Service; + +@Service(BServiceSOAP.class) +public class BServiceSOAPImpl implements BServiceSOAP { + + public String getName() { + return "BServiceSOAP"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java new file mode 100644 index 0000000000..7909edeb39 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java new file mode 100644 index 0000000000..2f34bf08f9 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite new file mode 100644 index 0000000000..61a658ab55 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java new file mode 100644 index 0000000000..edd0d91072 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java @@ -0,0 +1,438 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.wsdl.Binding; +import javax.wsdl.BindingInput; +import javax.wsdl.BindingOperation; +import javax.wsdl.BindingOutput; +import javax.wsdl.Definition; +import javax.wsdl.Operation; +import javax.wsdl.Port; +import javax.wsdl.PortType; +import javax.wsdl.Service; +import javax.wsdl.extensions.http.HTTPAddress; +import javax.wsdl.extensions.http.HTTPBinding; +import javax.wsdl.extensions.http.HTTPOperation; +import javax.wsdl.extensions.soap.SOAPAddress; +import javax.wsdl.extensions.soap.SOAPBinding; +import javax.wsdl.extensions.soap.SOAPBody; +import javax.wsdl.extensions.soap.SOAPHeader; +import javax.wsdl.extensions.soap.SOAPHeaderFault; +import javax.wsdl.extensions.soap.SOAPOperation; +import javax.wsdl.extensions.soap12.SOAP12Address; +import javax.wsdl.extensions.soap12.SOAP12Binding; +import javax.wsdl.extensions.soap12.SOAP12Body; +import javax.wsdl.extensions.soap12.SOAP12Header; +import javax.wsdl.extensions.soap12.SOAP12HeaderFault; +import javax.wsdl.extensions.soap12.SOAP12Operation; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; + + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.2, 2.3.3, 2.3.3.1, and 2.3.4 of SCA + * Web Services Binding V1.00 + */ +public class GeneratedWSDLTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlsoapversion.composite"; + protected static Definition bWSDL = null; + protected static Definition cWSDL = null; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + bWSDL = ServiceFinder.getWSDLDefinition("BComponent", "BService"); + cWSDL = ServiceFinder.getWSDLDefinition("CComponent", "CService"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 260-262:
    + * A separate WSDL document is generated for each SCA service. Each has + * its own unique target namespace. This is to ensure that bindings on + * different services of the same component do not clash.
    + */ + @Test + @Ignore("TUSCANY-2607") + // Don't know why target namespaces are same + public void testSoapVersion4() throws Exception { + String cTargetNamespace = cWSDL.getTargetNamespace(); + String bTargetNamespace = bWSDL.getTargetNamespace(); + Assert.assertFalse(bTargetNamespace.equals(cTargetNamespace)); + } + + /** + * Lines 271-273:
    + * The target namespace of the WSDL document, and of the service, ports and + * generated binding elements is:
    + * Base System URI for HTTP / Component Name / Service Name
    + */ + @Test + @Ignore("TUSCANY-2607") + // The target namespace does not follow the convention + public void testSoapVersion5() throws Exception { + String bTargetNamespace = bWSDL.getTargetNamespace(); + String cTargetNamespace = cWSDL.getTargetNamespace(); + Assert.assertTrue(bTargetNamespace.endsWith("BComponent/BService")); + Assert.assertTrue(cTargetNamespace.endsWith("CComponent/CService")); + } + + private Map getPorts(Definition wsdl, String service) { + String targetNamespace = wsdl.getTargetNamespace(); + HashMap sMap = (HashMap) wsdl.getServices(); + for (Iterator i = sMap.keySet().iterator(); i.hasNext();) { + Object k1 = i.next(); + Service s = (Service) sMap.get(k1); + String qName = "{" + targetNamespace + "}" + service; + if (s.getQName().toString().equals(qName)) { + return s.getPorts(); + } + // Don't why implmentation changed to add Service at the end of qname + if (s.getQName().toString().equals(qName + "Service")) { + return s.getPorts(); + } + } + return null; + } + + /** + * Lines 262-264, 290-291:
    + * The WSDL service has one or more ports for each web service binding on + * the SCA service that has a SOAP requirement, or that refers to an + * existing WSDL binding, depending on the requirements of the web service + * binding. Each of those ports has a single binding.
    + *

    + * 2.3.3.1 SOAP versions
    + * Where no specific SOAP version is required, then one or more WSDL ports + * with associated SOAP bindings may be generated, depending on the level(s) + * supported in the target runtime.
    + *

    + * BComponent/BService is not specified a SOAP version. + * It should have following bindings:
    + *

  • SoapBinding - PortType and SOAP11
  • + *
  • SOAP12Binding - SOAP12
  • + *
  • HTTPBinding - Http
  • + *
    and following ports:
    + *
  • SoapAddress
  • + *
  • SOAP12Address
  • + *
  • HTTPAddress
  • + + */ + @Test + public void testSoapVersion6() throws Exception { + + Map pMap = getPorts(bWSDL, "BService"); + int numSoapPort = 0; + int numSoap12Port = 0; + int numHttpPort = 0; + for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { + Object k2 = iter.next(); + Port p = (Port) pMap.get(k2); + List eeList = p.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object address = eeList.get(i); + if (address instanceof SOAPAddress) { + numSoapPort++; + } else if (address instanceof SOAP12Address) { + numSoap12Port++; + } else if (address instanceof HTTPAddress) { + numHttpPort++; + } else { + System.out.println("address:" + address.getClass()); + } + } + } + + Map bMap = bWSDL.getBindings(); + int numSoapBinding = 0; + int numSoap12Binding = 0; + int numHttpBinding = 0; + for (Iterator iter = bMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) bMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + numSoapBinding++; + } else if (binding instanceof SOAP12Binding) { + numSoap12Binding++; + } else if (binding instanceof HTTPBinding) { + numHttpBinding++; + } + } + } + + System.out.println("testSoapVersion6"); + System.out.println(" # of SOAPPort: " + numSoapPort); + System.out.println(" # of SOAP12Port: " + numSoap12Port); + System.out.println(" # of HTTPPort: " + numHttpPort); + System.out.println(" # of SOAPBinding: " + numSoapBinding); + System.out.println(" # of SOAP12Binding: " + numSoap12Binding); + System.out.println(" # of HTTPBinding: " + numHttpBinding); + + Assert.assertEquals(numSoapPort, 1); + Assert.assertEquals(numSoap12Port, 0); + Assert.assertTrue(numSoapBinding > 0); + Assert.assertEquals(numSoap12Binding, 0); + // Skipped to test HTTP + + } + + /** + * Lines 275-284:
    + * 2.3.3 WSDL Bindings
    + * The binding elements in the generated WSDL document are either defined + * within the document, derived from the requirements of the binding, or + * are imported from existing WSDL documents.
    + * Generated bindings have the following fixed assumptions:
    + *
  • use="literal" for input and output messages
  • + *
  • style="document" for the binding
  • + *
  • All faults map to soap:faults
  • + *
  • No header or headerFault elements are generated
  • + *
  • The transport is "http://schemas.xmlsoap.org/soap/http", unless the + * system provides intents for alternative transports
    + *

    + */ + @Test + public void testSoapVersion7() throws Exception { + Map bMap = bWSDL.getBindings(); + for (Iterator iter = bMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) bMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + SOAPBinding sb = (SOAPBinding) binding; + Assert.assertEquals(sb.getStyle(), "document"); + Assert.assertEquals(sb.getTransportURI(), "http://schemas.xmlsoap.org/soap/http"); + } else if (binding instanceof SOAP12Binding) { + SOAP12Binding sb = (SOAP12Binding) binding; + Assert.assertEquals(sb.getStyle(), "document"); + Assert.assertEquals(sb.getTransportURI(), "http://schemas.xmlsoap.org/soap/http"); + } else if (binding instanceof HTTPBinding) { + } + } + List operations = b.getBindingOperations(); + for (int i = 0; i < eeList.size(); i++) { + BindingOperation bop = (BindingOperation) operations.get(i); + + List oeeList = bop.getExtensibilityElements(); + for (int j = 0; j < eeList.size(); j++) { + Object op = oeeList.get(j); + if (op instanceof SOAPOperation) { + SOAPOperation sop = (SOAPOperation) op; + if (sop.getStyle() != null) + Assert.assertEquals(sop.getStyle(), "document"); + } else if (op instanceof SOAP12Operation) { + SOAP12Operation sop = (SOAP12Operation) op; + Assert.assertEquals(sop.getStyle(), "document"); + } else if (op instanceof HTTPOperation) { + // HTTPOperation hop = (HTTPOperation) op; + } + } + + BindingInput bInput = (BindingInput) bop.getBindingInput(); + List bInputList = bInput.getExtensibilityElements(); + for (int j = 0; j < eeList.size(); j++) { + Object body = bInputList.get(j); + if (body instanceof SOAPBody) { + SOAPBody sBody = (SOAPBody) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else if (body instanceof SOAP12Body) { + SOAP12Body sBody = (SOAP12Body) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else { + Assert.assertFalse(body instanceof SOAPHeader); + Assert.assertFalse(body instanceof SOAP12Header); + Assert.assertFalse(body instanceof SOAPHeaderFault); + Assert.assertFalse(body instanceof SOAP12HeaderFault); + } + } + + BindingOutput bOutput = (BindingOutput) bop.getBindingOutput(); + List bOutputList = bOutput.getExtensibilityElements(); + for (int j = 0; j < eeList.size(); j++) { + Object body = bOutputList.get(j); + if (body instanceof SOAPBody) { + SOAPBody sBody = (SOAPBody) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else if (body instanceof SOAP12Body) { + SOAP12Body sBody = (SOAP12Body) body; + Assert.assertEquals(sBody.getUse(), "literal"); + } else { + Assert.assertFalse(body instanceof SOAPHeader); + Assert.assertFalse(body instanceof SOAP12Header); + Assert.assertFalse(body instanceof SOAPHeaderFault); + Assert.assertFalse(body instanceof SOAP12HeaderFault); + } + } + + Map bFaults = bop.getBindingFaults(); + if (bFaults.size() > 0) + System.out.println("WARNING: Skipped to test binding faults"); + + } + } + } + + /** + * Lines 288-289:
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. + */ + @Test + public void testSoapVersion8() throws Exception { + + Map pMap = getPorts(cWSDL, "CService"); + int numSoapPort = 0; + int numSoap12Port = 0; + int numHttpPort = 0; + for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { + Object k2 = iter.next(); + Port p = (Port) pMap.get(k2); + List eeList = p.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object address = eeList.get(i); + if (address instanceof SOAPAddress) { + numSoapPort++; + } else if (address instanceof SOAP12Address) { + numSoap12Port++; + } else if (address instanceof HTTPAddress) { + numHttpPort++; + }; + } + } + + Map cMap = cWSDL.getBindings(); + int numSoapBinding = 0; + int numSoap12Binding = 0; + int numHttpBinding = 0; + for (Iterator iter = cMap.keySet().iterator(); iter.hasNext();) { + Object k1 = iter.next(); + Binding b = (Binding) cMap.get(k1); + List eeList = b.getExtensibilityElements(); + for (int i = 0; i < eeList.size(); i++) { + Object binding = eeList.get(i); + if (binding instanceof SOAPBinding) { + numSoapBinding++; + } else if (binding instanceof SOAP12Binding) { + numSoap12Binding++; + } else if (binding instanceof HTTPBinding) { + numHttpBinding++; + } + } + } + + System.out.println("testSoapVersion8"); + System.out.println(" # of SOAPPort: " + numSoapPort); + System.out.println(" # of SOAP12Port: " + numSoap12Port); + System.out.println(" # of HTTPPort: " + numHttpPort); + System.out.println(" # of SOAPBinding: " + numSoapBinding); + System.out.println(" # of SOAP12Binding: " + numSoap12Binding); + System.out.println(" # of HTTPBinding: " + numHttpBinding); + + Assert.assertTrue(numSoap12Port > 0); + Assert.assertTrue(numSoap12Binding > 0); + Assert.assertEquals(numSoapPort, 0); + Assert.assertEquals(numSoapBinding, 0); + // Skipped to test HTTP + } + + private boolean testOperation(Operation op, Method m[]) { + for (int i = 0; i < m.length; i++) { + if(m[i].getName().equals(op.getName())) { + Assert.assertNotNull(op.getInput()); + Assert.assertNotNull(op.getOutput()); + return true; + } + } + return false; + } + + /** + * Lines 293-296:
    + * 2.3.4 WSDL PortType
    + * An SCA service has a single interface. This interface is always imported + * into the generated WSDL document. This may be done directly for + * WSDL-defined interfaces, or indirectly via a WSDL generated from the + * interface type for the service.
    + */ + @Test + public void testSoapVersion9() throws Exception { + Method bMethod[] = BService.class.getMethods(); + Map bPTMap = bWSDL.getPortTypes(); + Assert.assertEquals(bPTMap.size(), 1); + for (Iterator iter = bPTMap.keySet().iterator(); iter.hasNext();) { + PortType pt = (PortType) bPTMap.get(iter.next()); + List opList = pt.getOperations(); + Assert.assertEquals(bMethod.length, opList.size()); + for (int i = 0; i < opList.size(); i++) { + Operation op = (Operation) opList.get(i); + Assert.assertTrue(testOperation(op, bMethod)); + } + } + + Method cMethod[] = CService.class.getMethods(); + Map cPTMap = cWSDL.getPortTypes(); + Assert.assertEquals(cPTMap.size(), 1); + for (Iterator iter = cPTMap.keySet().iterator(); iter.hasNext();) { + PortType pt = (PortType) cPTMap.get(iter.next()); + List opList = pt.getOperations(); + Assert.assertEquals(cMethod.length, opList.size()); + for (int i = 0; i < opList.size(); i++) { + Operation op = (Operation) opList.get(i); + Assert.assertTrue(testOperation(op, cMethod)); + } + } + } + + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java new file mode 100644 index 0000000000..896b5a3d89 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java @@ -0,0 +1,84 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding + * V1.00 + */ +public class NoWsdlNoSoapVersionTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlsoapversion.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 251-253, 287-291:
    + *

  • soap
  • + * This indicates that a SOAP binding is required. The SOAP binding may be + * of any SOAP version, including multiple versions.
    + *
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.
    + *

    + */ + @Test + public void testSoapVersion1() throws Exception { + + for (int i = 0; i < 8; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java new file mode 100644 index 0000000000..c65f7e8e52 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; + +import junit.framework.Assert; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; +import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element without WSDL document + * described in section section 2.3.1, 2.3.2 and 2.3.3.1 of SCA Web Services + * Binding V1.00 + */ +public class NoWsdlSoapVersionTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "nowsdlsoapversion.composite"; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + d = ServiceFinder.getService(DService.class, "DComponent"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 254-257:
    + *

  • soap.1_1

  • + * A SOAP 1.1 binding only is required.
    + *
  • soap.1_2

  • + * A SOAP 1.2 binding only is required.
    + *
    + * 2.3.3.1 SOAP versions
    + * Where a web service binding requires a specific SOAP version, then a + * single WSDL port and SOAP binding of the appropriate version is + * generated. Where no specific SOAP version is required, then one or more + * WSDL ports with associated SOAP bindings may be generated, depending on + * the level(s) supported in the target runtime.
    + *

    + */ + @Test + public void testSoapVersion2() throws Exception { + + for (int i = 8; i < 16; i++) { + AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); + String aName = a.getName(); + String b1Str1 = a.getB1String("string1"); + String b1Str2 = a.getB1String2("string2", "string3"); + int b1Int = a.getB1Int(i * 1000 + 1000); + System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(i * 1000 + 1000, b1Int); + } + } + + /** + * Lines 254-257, 287-291, 260-262:
    + * A separate WSDL document is generated for each SCA service. Each has + * its own unique target namespace. This is to ensure that bindings on + * different services of the same component do not clash.
    + *

    + * Test two references using binding.ws with 2 different SOAP versions + * and without WSDL document.
    + */ + @Test + public void testSoapVersion3() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/pom.xml b/java/sca-contrib/vtest/wsbinding/pom.xml new file mode 100644 index 0000000000..786fc89731 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/pom.xml @@ -0,0 +1,68 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-vtest + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding + pom + Apache Tuscany SCA Web Service Binding Verification Tests + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + vtest-utilities + 2.0-SNAPSHOT + runtime + + + + + + + + default + + true + + + service + nowsdl + wsdlelement + + + + diff --git a/java/sca-contrib/vtest/wsbinding/service/pom.xml b/java/sca-contrib/vtest/wsbinding/service/pom.xml new file mode 100644 index 0000000000..4fb8d98b57 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-service + Apache Tuscany SCA Web Service Binding Verification Tests - Service + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java b/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java new file mode 100644 index 0000000000..bdb5aa3821 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AClientService. + */ +@Remotable +public interface AClientService { + public String getGreetingsForward(String name); +} diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java b/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java new file mode 100644 index 0000000000..2dc7afce0c --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + public String getGreetings(String name); +} diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java b/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java new file mode 100644 index 0000000000..93cd716abe --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.AClientService; +import org.apache.tuscany.sca.vtest.wsbinding.AService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AClientService.class) +public class AClientServiceImpl implements AClientService { + + @Reference + protected AService aService; + + public String getGreetingsForward(String name) { + return aService.getGreetings(name); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java b/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java new file mode 100644 index 0000000000..6ab7668c8b --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.AService; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + public String getGreetings(String name) { + return "Hello " + name; + } +} diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/resources/aservice.wsdl b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/aservice.wsdl new file mode 100644 index 0000000000..e7953eb2b4 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/aservice.wsdl @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite new file mode 100644 index 0000000000..0d92174442 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite @@ -0,0 +1,103 @@ + + + + + + + + + + + http://localhost:8085/AService/endpointref + + + + + + + + + inAddress + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/resources/endpointreference.composite b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/endpointreference.composite new file mode 100644 index 0000000000..3ba152b7b8 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/endpointreference.composite @@ -0,0 +1,40 @@ + + + + + + + + + + http://localhost:8085/AService/endpointref + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite new file mode 100644 index 0000000000..85c604070a --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite new file mode 100644 index 0000000000..0c11c79efe --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlport.composite b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlport.composite new file mode 100644 index 0000000000..859b93bec4 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlport.composite @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlservice.composite b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlservice.composite new file mode 100644 index 0000000000..fa96e650de --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/main/resources/wsdlservice.composite @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java new file mode 100644 index 0000000000..d858daaf78 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests EndpointReference element specified in service binding.ws as per Web + * Services Binding Specification v1.00 - Sec 2.1 - Lines 61 to 65. + */ +public class EndpointReferenceTestCase { + + protected static String compositeName = "endpointreference.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 61-65 + *

    + * /binding.ws/wsa:EndpointReference – optional WS-Addressing [6] + * EndpointReference that specifies the endpoint for the service or + * reference. When this element is present along with the wsdlElement + * attribute on the parent element, the wsdlElement attribute value MUST be + * of the ‘Binding’ form as specified above, i.e. #wsdl.binding(). + */ + @Test + public void testWsdlBinding() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java new file mode 100644 index 0000000000..49f9db248f --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java @@ -0,0 +1,209 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Tests "Endpoint URI resolution" for service binding.ws as per Web Services + * Binding Specification v1.00 - Sec 2.1.1 - Lines 70 to 85. + */ +public class EndpointUriResolutionTestCase { + + protected static String compositeName = "endpoint-uri-resolution.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that URI in the endpoint takes precedence. + */ + @Test + public void testUriInEndpoint() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent1"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that URI in the EndpointReference takes precedence. + */ + @Test + public void testUriInEndpointReference() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent2"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that explicitly stated URI in the "uri" attribute of + * binding.ws takes precedence. + */ + @Test + public void testUriInBindingWs() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent3"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that implicit URI is used. + */ + @Ignore("TUSCANY-2523 - Port 8080 conflicts with Continuum") + @Test + public void testImplicitUri() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent4"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 71-78 + *

    + * The rules for resolving the URI at which an SCA service is hosted, or SCA + * reference targets, when used with binding.ws (in precedence order) are: + * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI + * specified by the wsa:Address element of the wsa:EndpointReference, 2. The + * explicitly stated URI in the "uri" attribute of the binding.ws element, + * which may be relative, 3. The implicit URI as defined by the Assembly + * specification + *

    + * This method tests that explicitly stated URI in the "uri" attribute of + * the binding.ws is used in the absence of a wsdlElement. + */ + @Test + public void testNoWsdlElement() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent5"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 79-83 + *

    + * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a + * relative URI, in which case it is relative to the URI defined in (2) or + * (3). The wsa:Address element can be the empty relative URI, in which case + * it uses the URI defined in (2) or (3) directly. This allows the EPR + * writer to specify reference parameters, metadata and other EPR contents + * while allowing the URI to be chosen by the deployer. + *

    + * This method tests that the relative URI specified in WSDL endpoint is + * used along with the explicit URI specified in the "uri" attribute of + * binding.ws element. + */ + @Test + public void testRelativeUriInWsdl() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent6"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 79-83 + *

    + * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a + * relative URI, in which case it is relative to the URI defined in (2) or + * (3). The wsa:Address element can be the empty relative URI, in which case + * it uses the URI defined in (2) or (3) directly. This allows the EPR + * writer to specify reference parameters, metadata and other EPR contents + * while allowing the URI to be chosen by the deployer. + *

    + * This method tests that the relative URI specified in wsa:Address is used + * along with the explicit URI specified in the "uri" attribute of + * binding.ws element. + */ + @Test + public void testRelativeUriInAddress() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent7"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + /** + * Lines 79-83 + *

    + * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a + * relative URI, in which case it is relative to the URI defined in (2) or + * (3). The wsa:Address element can be the empty relative URI, in which case + * it uses the URI defined in (2) or (3) directly. This allows the EPR + * writer to specify reference parameters, metadata and other EPR contents + * while allowing the URI to be chosen by the deployer. + *

    + * This method tests that when wsa:Address is empty, the explicit URI + * specified in the "uri" attribute of binding.ws element is used. + */ + @Test + public void testEmptyAddressElement() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent8"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java new file mode 100644 index 0000000000..292de8b654 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests wsdlElement specified on service binding.ws as per Web Services Binding Specification v1.00 - Sec 2.1 + * - Lines 35 to 54. + */ +public class WsdlBindingTestCase { + + protected static String compositeName = "wsdlbinding.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 50-54 + *

    + * Binding: + * #wsdl.binding() + * In this case, the identified WSDL binding must have an equivalent PortType with the SCA + * service or reference. In this case the endpoint address URI for the SCA service or + * reference must be provided via the URI attribute on the binding. + */ + @Test + public void testWsdlBinding() throws Exception { + AClientService aClientBnd11 = ServiceFinder.getService(AClientService.class, "AClientBnd11Component"); + Assert.assertEquals("Hello Pandu", aClientBnd11.getGreetingsForward("Pandu")); + AClientService aClientBnd12 = ServiceFinder.getService(AClientService.class, "AClientBnd12Component"); + Assert.assertEquals("Hello Pandu", aClientBnd12.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java new file mode 100644 index 0000000000..842da87bd4 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Tests wsdlElement specified on service binding.ws as per Web Services Binding + * Specification v1.00 - Sec 2.1 - Lines 35 to 54. + */ +public class WsdlEndpointTestCase { + + protected static String compositeName = "wsdlendpoint.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 46-49 + *

    + * Endpoint (WSDL 2.0): #wsdl.endpoint(/) + * In this case, the identified endpoint in the WSDL 2.0 Service must have + * an equivalent PortType with the SCA service or reference. + */ + @Test + @Ignore("WSDL2.0 Support") + public void testWsdlEndpoint() throws Exception { + AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent"); + Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java new file mode 100644 index 0000000000..0545cef776 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests wsdlElement specified on service binding.ws as per Web Services Binding + * Specification v1.00 - Sec 2.1 - Lines 35 to 54. + */ +public class WsdlPortTestCase { + + protected static String compositeName = "wsdlport.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 42-45 + *

    + * Port (WSDL 1.1): #wsdl.port(/) + * In this case, the identified port in the WSDL 1.1 Service must have an + * equivalent PortType with the SCA service or reference. + */ + @Test + public void testWsdlPort() throws Exception { + AClientService aClientP11 = ServiceFinder.getService(AClientService.class, "AClientP11Component"); + Assert.assertEquals("Hello Pandu", aClientP11.getGreetingsForward("Pandu")); + AClientService aClientP12 = ServiceFinder.getService(AClientService.class, "AClientP12Component"); + Assert.assertEquals("Hello Pandu", aClientP12.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java new file mode 100644 index 0000000000..aa2b2fac7a --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Tests wsdlElement specified on service binding.ws as per Web Services Binding + * Specification v1.00 - Sec 2.1 - Lines 35 to 54. + */ +public class WsdlServiceTestCase { + + protected static String compositeName = "wsdlservice.composite"; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 38-41 + *

    + * Service: #wsdl.service() In this case, + * all the endpoints in the WSDL Service that have equivalent PortTypes with + * the SCA service or reference must be available to the SCA service or + * reference. + */ + @Test + @Ignore("TUSCANY-2298") + public void testWsdlService() throws Exception { + AClientService aClientS11 = ServiceFinder.getService(AClientService.class, "AClientS11Component"); + Assert.assertEquals("Hello Pandu", aClientS11.getGreetingsForward("Pandu")); + AClientService aClientS12 = ServiceFinder.getService(AClientService.class, "AClientS12Component"); + Assert.assertEquals("Hello Pandu", aClientS12.getGreetingsForward("Pandu")); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/pom.xml b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/pom.xml new file mode 100644 index 0000000000..648aa920e8 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-wsdlelement + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-wsdlelement-binding + Apache Tuscany SCA Web Service Binding Verification Tests - WSDL wsdlElement wsdl.binding + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java new file mode 100644 index 0000000000..2f6db92318 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getB2String(String aString); + + public int getB2Int(int i); +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java new file mode 100644 index 0000000000..a040adb113 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java new file mode 100644 index 0000000000..3195263584 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService2 { + + public String getString(String aString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java new file mode 100644 index 0000000000..aed5abebf4 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java new file mode 100644 index 0000000000..3386ea709f --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java new file mode 100644 index 0000000000..853cc74d4e --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService2; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference(required=false) + public BService b1; + + @Reference(required=false) + public BService2 b2; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getB2String(String aString) { + return b2.getString(aString); + } + + public int getB2Int(int i) { + return b2.getInt(i); + } + +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java new file mode 100644 index 0000000000..43051d6f10 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService2; +import org.oasisopen.sca.annotation.Service; + +@Service(BService2.class) +public class BService2Impl implements BService2 { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java new file mode 100644 index 0000000000..5496362e34 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java new file mode 100644 index 0000000000..63753d4ba7 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java new file mode 100644 index 0000000000..0a268ff447 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.CService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements DService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl new file mode 100644 index 0000000000..8ce0fbaeb8 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl new file mode 100644 index 0000000000..ff151faa7a --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite new file mode 100644 index 0000000000..6b97b5e602 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java new file mode 100644 index 0000000000..f30cf38654 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java @@ -0,0 +1,190 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; + +import static org.junit.Assert.fail; +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element wsdl.binding with WSDL + * document described in section section 2.1 of SCA Web Services Binding + * V1.00
    + */ +public class WsdlElementBindingTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "wsdlelement.binding.composite"; + protected static AService a1; + protected static AService a2; + protected static AService a3; + protected static AService a4; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a1 = ServiceFinder.getService(AService.class, "AComponent1"); + a2 = ServiceFinder.getService(AService.class, "AComponent2"); + a3 = ServiceFinder.getService(AService.class, "AComponent3"); + a4 = ServiceFinder.getService(AService.class, "AComponent4"); + d = ServiceFinder.getService(DService.class, "DComponent1"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 50-54:
    + * Binding:
    + * #wsdl.binding()
    + * In this case, the identified WSDL binding must have an equivalent + * PortType with the SCA service or reference. In this case the endpoint + * address URI for the SCA service or reference must be provided via the + * URI attribute on the binding.
    + *
    + * Tests wsdl.binding(BService1SOAPBinding)
    + */ + @Test + public void testWsdlElementBinding1() throws Exception { + String aName = a1.getName(); + String b1Str1 = a1.getB1String("string1"); + String b1Str2 = a1.getB1String2("string2", "string3"); + int b1Int = a1.getB1Int(1000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(1000, b1Int); + } + + /** + * Lines 50-54:
    + * Binding:
    + *
    + * Tests wsdl.binding(BService2SOAPBinding) with BService where the binding + * does not define getString2, so exceptions are expected.
    + */ + @Test + public void testWsdlElementBinding2() throws Exception { + String aName = a2.getName(); + System.out.println(aName + ": "); + try { + a2.getB1String("string1"); + fail("Should not be able to call getString"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1String2("string2", "string3"); + fail("Should not be able to call getString2"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1Int(2000); + fail("Should not be able to call getInt"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + } + + /** + * Lines 50-54:
    + * Binding:
    + *
    + * Tests wsdl.binding(BService2SOAPBinding) with BService2
    + */ + @Test + public void testWsdlElementBinding3() throws Exception { + String aName = a3.getName(); + String b2Str1 = a3.getB2String("string1"); + int b2Int = a3.getB2Int(3000); + + System.out.println(aName + ": " + b2Str1 + ", " + b2Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b2Str1); + Assert.assertEquals(3000, b2Int); + } + + /** + * Lines 50-54:
    + * Binding:
    + *
    + * Tests two references using wsdl.binding.
    + */ + @Test + public void testWsdlElementBinding4() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + /** + * Lines 50-54:
    + * Binding:
    + *
    + * Tests wsdl.binding(BService3SOAP12Binding) which uses SOAP 1.2
    + */ + @Test + public void testWsdlElementBinding5() throws Exception { + String aName = a4.getName(); + String b1Str1 = a4.getB1String("string1"); + String b1Str2 = a4.getB1String2("string2", "string3"); + int b1Int = a4.getB1Int(5000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(5000, b1Int); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/pom.xml b/java/sca-contrib/vtest/wsbinding/wsdlelement/pom.xml new file mode 100644 index 0000000000..13b0f4ea8c --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/pom.xml @@ -0,0 +1,68 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-wsdlelement + pom + Apache Tuscany SCA Web Service Binding Verification Tests - wsdlElement + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + vtest-utilities + 2.0-SNAPSHOT + runtime + + + + + + + + default + + true + + + service + port + binding + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/pom.xml b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/pom.xml new file mode 100644 index 0000000000..e47ca9c9da --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-wsdlelement + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-wsdlelement-port + Apache Tuscany SCA Web Service Binding Verification Tests - WSDL wsdlElement wsdl.port + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java new file mode 100644 index 0000000000..6fa9906d45 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getB2String(String aString); + + public int getB2Int(int i); +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java new file mode 100644 index 0000000000..978d515f92 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java new file mode 100644 index 0000000000..766139ee92 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService2 { + + public String getString(String aString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java new file mode 100644 index 0000000000..ee9ca25a4b --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java new file mode 100644 index 0000000000..80d998d1a6 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java new file mode 100644 index 0000000000..bec82776bf --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService2; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference(required=false) + public BService b1; + + @Reference(required=false) + public BService2 b2; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getB2String(String aString) { + return b2.getString(aString); + } + + public int getB2Int(int i) { + return b2.getInt(i); + } +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java new file mode 100644 index 0000000000..b379a2e3ef --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService2; +import org.oasisopen.sca.annotation.Service; + +@Service(BService2.class) +public class BService2Impl implements BService2 { + + public String getName() { + return "BService2"; + } + + public String getString(String aString) { + return aString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java new file mode 100644 index 0000000000..069308a520 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java new file mode 100644 index 0000000000..7ad9e3066c --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java new file mode 100644 index 0000000000..58ae1e9577 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.CService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements DService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl new file mode 100644 index 0000000000..d5c8d72dc1 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl new file mode 100644 index 0000000000..8a715a2081 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite new file mode 100644 index 0000000000..5b9b77683e --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java new file mode 100644 index 0000000000..0db579002b --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java @@ -0,0 +1,188 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; + +import static org.junit.Assert.fail; +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element wsdl.port with WSDL + * document described in section section 2.1 of SCA Web Services Binding + * V1.00
    + */ +public class WsdlElementPortTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "wsdlelement.port.composite"; + protected static AService a1; + protected static AService a2; + protected static AService a3; + protected static AService a4; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a1 = ServiceFinder.getService(AService.class, "AComponent1"); + a2 = ServiceFinder.getService(AService.class, "AComponent2"); + a3 = ServiceFinder.getService(AService.class, "AComponent3"); + a4 = ServiceFinder.getService(AService.class, "AComponent4"); + d = ServiceFinder.getService(DService.class, "DComponent1"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + * #wsdl.port(/) + * In this case, the identified port in the WSDL 1.1 Service must have an + * equivalent PortType with the SCA service or reference.
    + *
    + * Test wsdl.port(BService/BService1SOAP)
    + */ + @Test + public void testWsdlElementPort1() throws Exception { + String aName = a1.getName(); + String b1Str1 = a1.getB1String("string1"); + String b1Str2 = a1.getB1String2("string2", "string3"); + int b1Int = a1.getB1Int(1000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(1000, b1Int); + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + *
    + * Tests wsdl.port(BService/BService2SOAP) with BService where the port + * does not define getString2, so exceptions are expected.
    + */ + @Test + public void testWsdlElementPort2() throws Exception { + String aName = a2.getName(); + System.out.println(aName + ": "); + try { + a2.getB1String("string1"); + fail("Should not be able to call getString"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1String2("string2", "string3"); + fail("Should not be able to call getString2"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1Int(2000); + fail("Should not be able to call getInt"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + *
    + * Tests wsdl.port(BService/BService2SOAP) with BService2
    + */ + @Test + public void testWsdlElementPort3() throws Exception { + String aName = a3.getName(); + String b2Str1 = a3.getB2String("string1"); + int b2Int = a3.getB2Int(1000); + + System.out.println(aName + ": " + b2Str1 + ", " + b2Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b2Str1); + Assert.assertEquals(1000, b2Int); + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + *
    += * Tests two references using wsdl.port.
    + */ + @Test + public void testWsdlElementPort4() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + /** + * Lines 42-45:
    + * Port (WSDL 1.1):
    + *
    += * Tests wsdl.port(BService/BService3SOAP12) which uses SOAP 1.2
    + */ + @Test + public void testWsdlElementPort5() throws Exception { + String aName = a4.getName(); + String b1Str1 = a4.getB1String("string1"); + String b1Str2 = a4.getB1String2("string2", "string3"); + int b1Int = a4.getB1Int(5000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(5000, b1Int); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/pom.xml b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/pom.xml new file mode 100644 index 0000000000..39f2c45921 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + vtest-wsbinding-wsdlelement + 2.0-SNAPSHOT + ../pom.xml + + vtest-wsbinding-wsdlelement-service + Apache Tuscany SCA Web Service Binding Verification Tests - WSDL wsdlElement wsdl.service + + + + org.apache.tuscany.sca + tuscany-host-embedded + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-host-tomcat + 2.0-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + 2.0-SNAPSHOT + runtime + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java new file mode 100644 index 0000000000..464a834570 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for AService. + */ +@Remotable +public interface AService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getB2String(String aString); + + public int getB2Int(int i); + + public String getB3String(String aString); + + public int getB3Int(int i); + + public String getB4String(String aString); + + public String getB4String2(String aString, String bString); + + public int getB4Int(int i); +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java new file mode 100644 index 0000000000..37ccee6cd4 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java new file mode 100644 index 0000000000..c8355f8f1b --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface BService2 { + + public String getString(String aString); + + public int getInt(int i); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java new file mode 100644 index 0000000000..d3f5ab1c47 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * Simple Service used by another service + */ +@Remotable +public interface CService { + + public String getString(String aString); + + public String getString2(String aString, String bString); + + public Integer getInteger(Integer i); + + public float getFloat(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java new file mode 100644 index 0000000000..1a64706a29 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import org.oasisopen.sca.annotation.Remotable; + +/** + * The interface for DService. + */ +@Remotable +public interface DService { + + public String getName(); + + public String getB1String(String aString); + + public String getB1String2(String aString, String bString); + + public int getB1Int(int i); + + public String getC1String(String aString); + + public String getC1String2(String aString, String bString); + + public Integer getC1Integer(Integer i); + + public float getC1Float(float f); + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java new file mode 100644 index 0000000000..986027c08a --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java @@ -0,0 +1,88 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService2; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements AService. + */ +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference(required=false) + public BService b1; + + @Reference(required=false) + public BService2 b2; + + @Reference(required=false) + public BService2 b3; + + @Reference(required=false) + public BService b4; + + public String getName() { + return "AService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getB2String(String aString) { + return b2.getString(aString); + } + + public int getB2Int(int i) { + return b2.getInt(i); + } + + public String getB3String(String aString) { + return b3.getString(aString); + } + + public int getB3Int(int i) { + return b3.getInt(i); + } + + public String getB4String(String aString) { + return b4.getString(aString); + } + + public String getB4String2(String aString, String bString) { + return b4.getString2(aString, bString); + } + + public int getB4Int(int i) { + return b4.getInt(i); + } +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java new file mode 100644 index 0000000000..a58297de69 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService2; +import org.oasisopen.sca.annotation.Service; + +@Service(BService2.class) +public class BService2Impl implements BService2 { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java new file mode 100644 index 0000000000..3ecbc95901 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService; +import org.oasisopen.sca.annotation.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + public String getName() { + return "BService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public int getInt(int i) { + return i; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java new file mode 100644 index 0000000000..05af362a25 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.CService; +import org.oasisopen.sca.annotation.Service; + +@Service(CService.class) +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String getString(String aString) { + return aString; + } + + public String getString2(String aString, String bString) { + return aString + bString; + } + + public Integer getInteger(Integer i) { + return i; + } + + public float getFloat(float f) { + return f; + } + +} diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java new file mode 100644 index 0000000000..dadbb63873 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java @@ -0,0 +1,70 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; + +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.CService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.DService; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Service; + +/** + * This class implements DService. + */ +@Service(DService.class) +public class DServiceImpl implements DService { + + @Reference + public BService b1; + + @Reference + public CService c1; + + public String getName() { + return "DService"; + } + + public String getB1String(String aString) { + return b1.getString(aString); + } + + public String getB1String2(String aString, String bString) { + return b1.getString2(aString, bString); + } + + public int getB1Int(int i) { + return b1.getInt(i); + } + + public String getC1String(String aString) { + return c1.getString(aString); + } + + public String getC1String2(String aString, String bString) { + return c1.getString2(aString, bString); + } + + public Integer getC1Integer(Integer i) { + return c1.getInteger(i); + } + + public float getC1Float(float f) { + return c1.getFloat(f); + } +} \ No newline at end of file diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl new file mode 100644 index 0000000000..521f077c46 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl new file mode 100644 index 0000000000..bdf294b473 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite new file mode 100644 index 0000000000..9801ecd037 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java new file mode 100644 index 0000000000..22d2a80244 --- /dev/null +++ b/java/sca-contrib/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java @@ -0,0 +1,235 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; + +import static org.junit.Assert.fail; +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.AService; +import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.DService; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Tests the simplest form of the binding element wsdl.service with WSDL + * document described in section section 2.1 of SCA Web Services Binding + * V1.00
    + */ +public class WsdlElementServiceTestCase { + + protected static ServiceFinder serviceFinder; + protected static String compositeName = "wsdlelement.service.composite"; + protected static AService a1; + protected static AService a2; + protected static AService a3; + protected static AService a4; + protected static AService a5; + protected static DService d; + + @BeforeClass + public static void init() throws Exception { + try { + System.out.println("Setting up"); + ServiceFinder.init(compositeName); + a1 = ServiceFinder.getService(AService.class, "AComponent1"); + a2 = ServiceFinder.getService(AService.class, "AComponent2"); + a3 = ServiceFinder.getService(AService.class, "AComponent3"); + a4 = ServiceFinder.getService(AService.class, "AComponent4"); + a5 = ServiceFinder.getService(AService.class, "AComponent5"); + d = ServiceFinder.getService(DService.class, "DComponent1"); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + /** + * Lines 38-41:
    + * Service:
    + * #wsdl.service()
    + * In this case, all the endpoints in the WSDL Service that have equivalent + * PortTypes with the SCA service or reference must be available to the SCA + * service or reference.
    + *
    + * Tests wsdl.service(BService)
    + */ + @Test + public void testWsdlElementService1() throws Exception { + String aName = a1.getName(); + String b1Str1 = a1.getB1String("string1"); + String b1Str2 = a1.getB1String2("string2", "string3"); + int b1Int = a1.getB1Int(1000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(1000, b1Int); + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests wsdl.service(BService2) with with BService where the service + * does not define getString2, so exceptions are expected.
    + */ + @Test + public void testWsdlElementService2() throws Exception { + String aName = a2.getName(); + System.out.println(aName + ": "); + try { + a2.getB1String("string1"); + fail("Should not be able to call getString"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1String2("string2", "string3"); + fail("Should not be able to call getString2"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + try { + a2.getB1Int(2000); + fail("Should not be able to call getInt"); + } catch (Exception e) { + System.out.println(" Exception is expected: " + e.toString()); + } + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests wsdl.service(BService2) with BService2
    + */ + @Test + public void testWsdlElementService3() throws Exception { + String aName = a3.getName(); + String b2Str1 = a3.getB2String("string1"); + int b2Int = a3.getB2Int(1000); + + System.out.println(aName + ": " + b2Str1 + ", " + b2Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b2Str1); + Assert.assertEquals(1000, b2Int); + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests two references using wsdl.service.
    + */ + @Test + public void testWsdlElementService4() throws Exception { + String dName = d.getName(); + String b1Str1 = d.getB1String("string1"); + String b1Str2 = d.getB1String2("string2", "string3"); + String c1Str1 = d.getC1String("string5"); + String c1Str2 = d.getC1String2("string6", "string7"); + + int b1Int = d.getB1Int(4000); + float c1Float = d.getC1Float((float) 8.8); + + Integer c1Integer = d.getC1Integer(new Integer(9000)); + + System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); + Assert.assertEquals("DService", dName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(4000, b1Int); + Assert.assertEquals("string5", c1Str1); + Assert.assertEquals("string6string7", c1Str2); + Assert.assertEquals((float) 8.8, c1Float); + Assert.assertEquals(new Integer(9000), c1Integer); + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests mixed bindings of using wsdl.port, wsdl.service, wsdl.binding, + * and soap 1.2 + *
    + */ + @Test + public void testWsdlElementService5() throws Exception { + String aName = a4.getName(); + String b1Str1 = a4.getB1String("port"); + String b1Str2 = a4.getB1String2("string1", "string2"); + int b1Int = a4.getB1Int(1000); + System.out.println(aName); + System.out.println(" b1: " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("port", b1Str1); + Assert.assertEquals("string1string2", b1Str2); + Assert.assertEquals(1000, b1Int); + + String b2Str1 = a4.getB2String("service"); + int b2Int = a4.getB2Int(2000); + System.out.println(" b2: " + b2Str1 + ", " + b2Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("service", b2Str1); + Assert.assertEquals(2000, b2Int); + + String b3Str1 = a4.getB3String("binding"); + int b3Int = a4.getB3Int(3000); + System.out.println(" b3: " + b3Str1 + ", " + b3Int); + Assert.assertEquals("binding", b3Str1); + Assert.assertEquals(3000, b3Int); + + String b4Str1 = a4.getB4String("soap12"); + String b4Str2 = a4.getB4String2("string3", "string4"); + int b4Int = a4.getB4Int(4000); + System.out.println(" b4: " + b4Str1 + ", " + b4Str2 + ", " + b4Int); + Assert.assertEquals("soap12", b4Str1); + Assert.assertEquals("string3string4", b4Str2); + Assert.assertEquals(4000, b4Int); + + } + + /** + * Lines 38-41:
    + * Service:
    + *
    + * Tests wsdl.service(BService3) which uses SOAP 1.2
    + */ + @Test + public void testWsdlElementService6() throws Exception { + String aName = a5.getName(); + String b1Str1 = a5.getB1String("string1"); + String b1Str2 = a5.getB1String2("string2", "string3"); + int b1Int = a5.getB1Int(6000); + + System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); + Assert.assertEquals("AService", aName); + Assert.assertEquals("string1", b1Str1); + Assert.assertEquals("string2string3", b1Str2); + Assert.assertEquals(6000, b1Int); + } + + @AfterClass + public static void destroy() throws Exception { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } +} diff --git a/java/sca/vtest/assembly/component/pom.xml b/java/sca/vtest/assembly/component/pom.xml deleted file mode 100644 index b2eac429c1..0000000000 --- a/java/sca/vtest/assembly/component/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-assembly - 2.0-SNAPSHOT - ../pom.xml - - vtest-assembly-component - - Apache Tuscany SCA Assembly Verification Tests - Component - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - - - diff --git a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java b/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java deleted file mode 100644 index 592020c180..0000000000 --- a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.assembly.component; - -/** - * Simple Remotable Service - */ -public interface AService { - - public String getState(); - public String getBProperty(); - public String getB2Property(); - - -} diff --git a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java b/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java deleted file mode 100644 index 0d95c8e4b8..0000000000 --- a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.assembly.component; - -/** - * Simple Service - */ -public interface BService { - - public String getState(); - public String getSomeProperty(); - -} diff --git a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java b/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java deleted file mode 100644 index c979c57f31..0000000000 --- a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.assembly.component; - -/** - * - */ -public interface CService { - - public String getState(); - -} diff --git a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java b/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java deleted file mode 100644 index ff17a71a3d..0000000000 --- a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.component.impl; - -import org.apache.tuscany.sca.vtest.assembly.component.AService; -import org.apache.tuscany.sca.vtest.assembly.component.BService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - protected BService b; - - @Reference - protected BService b2; - - public String getState() { - return b.getState(); - } - - public String getBProperty() { - return b.getSomeProperty(); - } - - public String getB2Property() { - return b2.getSomeProperty(); - } - -} - diff --git a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java b/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java deleted file mode 100644 index e57ed2f951..0000000000 --- a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.component.impl; - -import org.apache.tuscany.sca.vtest.assembly.component.BService; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - @Property - protected String someProperty; - - public String getState() { - return "SomeStateFromB"; - } - - public String getSomeProperty() { - return someProperty; - } - -} diff --git a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java b/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java deleted file mode 100644 index b2b420ed6a..0000000000 --- a/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.component.impl; - -public class CServiceImpl { - - private String state = "Some State"; - - public String getState() { - return state; - } - -} - diff --git a/java/sca/vtest/assembly/component/src/main/resources/component.composite b/java/sca/vtest/assembly/component/src/main/resources/component.composite deleted file mode 100644 index bb452feac9..0000000000 --- a/java/sca/vtest/assembly/component/src/main/resources/component.composite +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - some b component value - - - - - some b2 component value - - - diff --git a/java/sca/vtest/assembly/component/src/main/resources/nonuniquename.composite b/java/sca/vtest/assembly/component/src/main/resources/nonuniquename.composite deleted file mode 100644 index 3019542091..0000000000 --- a/java/sca/vtest/assembly/component/src/main/resources/nonuniquename.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite b/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite deleted file mode 100644 index 9460f5a2e1..0000000000 --- a/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - some b component value - - - - - - some b2 component value - - - diff --git a/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite b/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite deleted file mode 100644 index 085d84f40e..0000000000 --- a/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite b/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite deleted file mode 100644 index cc915fbde5..0000000000 --- a/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/vtest/assembly/component/src/main/resources/zerocomponents.composite b/java/sca/vtest/assembly/component/src/main/resources/zerocomponents.composite deleted file mode 100644 index 6f02d7e941..0000000000 --- a/java/sca/vtest/assembly/component/src/main/resources/zerocomponents.composite +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - diff --git a/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite b/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite deleted file mode 100644 index 8629f3817a..0000000000 --- a/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - some b component value - - - - - some b2 component value - - - diff --git a/java/sca/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java b/java/sca/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java deleted file mode 100644 index 0938708b91..0000000000 --- a/java/sca/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.component; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.Ignore; -import org.junit.Test; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * - */ -public class ComponentTestCase { - - private void initDomain(String compositePath) { - System.out.println("Setting up"); - ServiceFinder.init(compositePath); - } - - private void cleanupDomain() { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Lines 92-96: - *

    - * Components are configured instances of implementations. Components - * provide and consume services. More than one component can use and - * configure the same implementation, where each component configures the - * implementation differently. - */ - @Test - public void components1() throws Exception { - initDomain("component.composite"); - AService service = ServiceFinder.getService(AService.class, "AComponent/AService"); - Assert.assertEquals("some b component value", service.getBProperty()); - Assert.assertEquals("some b2 component value", service.getB2Property()); - cleanupDomain(); - } - - /** - * Lines 96-97: - *

    - * There can be zero or more component elements within a composite. - */ - @Test - public void components2() throws Exception { - initDomain("zerocomponents.composite"); - cleanupDomain(); - } - - /** - * Lines 142-143: - *

    - * name (required) – the name of the component. The name must be unique - * across all the components in the composite. - */ - @Test(expected = ServiceRuntimeException.class) - //@Ignore("TUSCANY-2455") - public void components3() throws Exception { - initDomain("nonuniquename.composite"); - cleanupDomain(); - } - - /** - * Lines 154-158: - *

    - * A component element has zero or one implementation element as its child, - * which points to the implementation used by the component. A component - * with no implementation element is not runnable, but components of this - * kind may be useful during a "top-down" development process as a means of - * defining the characteristics required of the implementation before the - * implementation is written. - */ - @Test - public void components4() throws Exception { - initDomain("zeroimplelements.composite"); - cleanupDomain(); - } - - /** - * Lines 159-160: - *

    - * The component element can have zero or more service elements as children - * which are used to configure the services of the component. - */ - @Test - public void components5() throws Exception { - initDomain("serviceelement.composite"); - cleanupDomain(); - } - - /** - * Lines 174-179: - *

    - * A service has zero or one interface, which describes the operations - * provided by the service. The interface is described by an interface - * element which is a child element of the service element. If no interface - * is specified, then the interface specified for the service by the - * implementation is in effect. If an interface is specified it must provide - * a compatible subset of the interface provided by the implementation, i.e. - * provide a subset of the operations defined by the implementation for the - * service. - */ - @Test - public void components6() throws Exception { - initDomain("servicewithinterface.composite"); - CService service = ServiceFinder.getService(CService.class, "CComponent"); - Assert.assertEquals("Some State", service.getState()); - cleanupDomain(); - } - - /** - * Lines 180-182: - *

    - * A service element has one or more binding elements as children. If no - * bindings are specified, then the bindings specified for the service by - * the implementation are in effect. If bindings are specified, then those - * bindings override the bindings specified by the implementation. - */ - @Test - public void components7() throws Exception { - initDomain("servicewithbinding.composite"); - CService service = ServiceFinder.getService(CService.class, "CComponent"); - Assert.assertEquals("Some State", service.getState()); - cleanupDomain(); - } - - -} diff --git a/java/sca/vtest/assembly/composite/pom.xml b/java/sca/vtest/assembly/composite/pom.xml deleted file mode 100644 index f9922f4cac..0000000000 --- a/java/sca/vtest/assembly/composite/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-assembly - 2.0-SNAPSHOT - ../pom.xml - - vtest-assembly-composite - - Apache Tuscany SCA Assembly Verification Tests - Composite - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - - - diff --git a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java b/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java deleted file mode 100644 index a5cff3972b..0000000000 --- a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.assembly.composite; - -/** - * Simple Remotable Service - */ -public interface AService { - - public String getState(); - public String getBProperty(); - public String getB2Property(); - - -} diff --git a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java b/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java deleted file mode 100644 index 39d879e745..0000000000 --- a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.assembly.composite; - -/** - * Simple Service - */ -public interface BService { - - public String getState(); - public String getSomeProperty(); - -} diff --git a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java b/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java deleted file mode 100644 index dd80c4dc6a..0000000000 --- a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.assembly.composite; - -/** - * - */ -public interface CService { - - public String getState(); - -} diff --git a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java b/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java deleted file mode 100644 index 4a4aa965ce..0000000000 --- a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.composite.impl; - -import org.apache.tuscany.sca.vtest.assembly.composite.AService; -import org.apache.tuscany.sca.vtest.assembly.composite.BService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - protected BService b; - - @Reference - protected BService b2; - - public String getState() { - return b.getState(); - } - - public String getBProperty() { - return b.getSomeProperty(); - } - - public String getB2Property() { - return b2.getSomeProperty(); - } - -} - diff --git a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java b/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java deleted file mode 100644 index c71e2bcc16..0000000000 --- a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.composite.impl; - -import org.apache.tuscany.sca.vtest.assembly.composite.BService; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - @Property - protected String someProperty; - - public String getState() { - return "SomeStateFromB"; - } - - public String getSomeProperty() { - return someProperty; - } - -} diff --git a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java b/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java deleted file mode 100644 index 2f091a8ef2..0000000000 --- a/java/sca/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.composite.impl; - -public class CServiceImpl { - - private String state = "Some State"; - - public String getState() { - return state; - } - -} - diff --git a/java/sca/vtest/assembly/composite/src/main/resources/composite.composite b/java/sca/vtest/assembly/composite/src/main/resources/composite.composite deleted file mode 100644 index d533cb8dcf..0000000000 --- a/java/sca/vtest/assembly/composite/src/main/resources/composite.composite +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - some b component value - - - - - some b2 component value - - - diff --git a/java/sca/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java b/java/sca/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java deleted file mode 100644 index 03f44e449c..0000000000 --- a/java/sca/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.composite; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.Ignore; -import org.junit.Test; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * - */ -public class CompositeTestCase { - - private void initDomain(String compositePath) { - System.out.println("Setting up"); - ServiceFinder.init(compositePath); - } - - private void cleanupDomain() { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - - /** - * Lines nn-n: - *

    - * spec - */ - @Test - public void composite1() throws Exception { - initDomain("composite.composite"); - - cleanupDomain(); - } -} diff --git a/java/sca/vtest/assembly/ctypefile/pom.xml b/java/sca/vtest/assembly/ctypefile/pom.xml deleted file mode 100644 index 1eac774ff3..0000000000 --- a/java/sca/vtest/assembly/ctypefile/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-assembly - 2.0-SNAPSHOT - ../pom.xml - - vtest-assembly-ctypefile - - Apache Tuscany SCA Assembly Verification Tests - Component Type File - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - - - diff --git a/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java b/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java deleted file mode 100644 index d1df390ace..0000000000 --- a/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.assembly.ctypefile; - -/** - * Simple Remotable Service - */ -public interface AService { - - public String getState(); - public String getState2(); - public String getBProperty(); - -} diff --git a/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java b/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java deleted file mode 100644 index 8ee18b242f..0000000000 --- a/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.assembly.ctypefile; - -/** - * Simple Service - */ -public interface BService { - - public String getState(); - public String getSomeProperty(); - -} diff --git a/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java b/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java deleted file mode 100644 index 919e5c2953..0000000000 --- a/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.ctypefile.impl; - -import org.apache.tuscany.sca.vtest.assembly.ctypefile.AService; -import org.apache.tuscany.sca.vtest.assembly.ctypefile.BService; -import org.oasisopen.sca.annotation.Reference; - -public class AServiceImpl implements AService { - - private BService bService; - private BService b2Service; - - public void setBService(BService b) { - this.bService = b; - } - - @Reference - public void setB2Service(BService b) { - this.b2Service = b; - } - - public String getState() { - return bService.getState(); - } - - public String getState2() { - return b2Service.getState(); - } - - public String getBProperty() { - return bService.getSomeProperty(); - } - -} - diff --git a/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java b/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java deleted file mode 100644 index fd32cb1f9b..0000000000 --- a/java/sca/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.ctypefile.impl; - -import org.apache.tuscany.sca.vtest.assembly.ctypefile.BService; - -public class BServiceImpl implements BService { - - //@Property - protected String someProperty; - - public String getState() { - return "SomeStateFromB"; - } - - public String getSomeProperty() { - return someProperty; - } - -} diff --git a/java/sca/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType b/java/sca/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType deleted file mode 100644 index 173203ae21..0000000000 --- a/java/sca/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType b/java/sca/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType deleted file mode 100644 index c6a0f274c4..0000000000 --- a/java/sca/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - componentTypeValue - - - \ No newline at end of file diff --git a/java/sca/vtest/assembly/ctypefile/src/main/resources/typefile.composite b/java/sca/vtest/assembly/ctypefile/src/main/resources/typefile.composite deleted file mode 100644 index 889bb846ba..0000000000 --- a/java/sca/vtest/assembly/ctypefile/src/main/resources/typefile.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - compositeValue - - - - - diff --git a/java/sca/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java b/java/sca/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java deleted file mode 100644 index f8f7e45f61..0000000000 --- a/java/sca/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.assembly.ctypefile; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * - */ -public class CompomnentTypeFileTestCase { - - protected static String compositeName = "typefile.composite"; - protected static AService aService = null; - protected static BService bService2 = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent/AService"); - bService2 = ServiceFinder.getService(BService.class, "BComponent2/BService"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Lines 435-439: - *

    - * Step two covers the cases where introspection of the implementation is - * not possible or where it does not provide complete information and it - * involves looking for an SCA component type file. Component type - * information found in the component type file must be compatible with the - * equivalent information found from inspection of the implementation. - *

    - * Lines 441-444: - *

    - * In the ideal case, the component type information is determined by - * inspecting the implementation, for example as code annotations. The - * component type file provides a mechanism for the provision of component - * type information for implementation types where the information cannot be - * determined by inspecting the implementation. - */ - @Test - public void typeFile1() throws Exception { - Assert.assertSame("SomeStateFromB", aService.getState()); - } - - /** - * Lines 439-449: - *

    - * The component type file can specify partial information, with the - * remainder being derived from the implementation. - *

    - * The first test makes use of the reference to b which is provided by the - * type file. The second test makes use of the reference to b2 which is - * provided via annotation - */ - @Test - public void typeFile2() throws Exception { - Assert.assertSame("SomeStateFromB", aService.getState()); - Assert.assertSame("SomeStateFromB", aService.getState2()); - } - - /** - * Lines 450-451: - *

    - * The componentType element can contain Service elements, Reference - * elements and Property elements. - */ - @Test - public void typeFile3() throws Exception { - Assert.assertEquals("compositeValue", aService.getBProperty()); - } - - public void typeFile31() throws Exception { - Assert.assertEquals("componentTypeValue", bService2.getSomeProperty()); - } - -} diff --git a/java/sca/vtest/assembly/pom.xml b/java/sca/vtest/assembly/pom.xml deleted file mode 100644 index 49e33352b4..0000000000 --- a/java/sca/vtest/assembly/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-vtest - 2.0-SNAPSHOT - ../pom.xml - - vtest-assembly - pom - Apache Tuscany SCA Assembly Verification Tests - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - vtest-utilities - 2.0-SNAPSHOT - runtime - - - - - - - - default - - true - - - ctypefile - component - composite - - - - - diff --git a/java/sca/vtest/java-api/annotations/conversational/pom.xml b/java/sca/vtest/java-api/annotations/conversational/pom.xml deleted file mode 100644 index b9fa0ff9b9..0000000000 --- a/java/sca/vtest/java-api/annotations/conversational/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-conversation - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Conversation - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/AService.java b/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/AService.java deleted file mode 100644 index bc7212f70c..0000000000 --- a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/AService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational; - -/** - * Simple Remotable Service - */ -public interface AService { - - public String setThenGetB1State(String someState); - - public String setThenGetB2State(String someState); - -} diff --git a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B1Service.java b/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B1Service.java deleted file mode 100644 index 76c857126a..0000000000 --- a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B1Service.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational; - -/** - * Simple Local Service - */ -public interface B1Service { - - public void setState(String someState); - public String getState(); - -} diff --git a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B2Service.java b/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B2Service.java deleted file mode 100644 index 23791f2ca9..0000000000 --- a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/B2Service.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Local Service - */ -@Conversational -public interface B2Service { - - public void setState(String someState); - public String getState(); - -} diff --git a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/AServiceImpl.java deleted file mode 100644 index b8e346681c..0000000000 --- a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/AServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.B1Service; -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.B2Service; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - protected B1Service b1; - - @Reference - protected B2Service b2; - - public String setThenGetB1State(String someState) { - b1.setState(someState); - return b1.getState(); - } - - public String setThenGetB2State(String someState) { - b2.setState(someState); - return b2.getState(); - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B1ServiceImpl.java b/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B1ServiceImpl.java deleted file mode 100644 index 75bac4bf18..0000000000 --- a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B1ServiceImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.B1Service; -import org.oasisopen.sca.annotation.Service; - -@Service(B1Service.class) -public class B1ServiceImpl implements B1Service { - - String someState; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B2ServiceImpl.java b/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B2ServiceImpl.java deleted file mode 100644 index 860d60b0de..0000000000 --- a/java/sca/vtest/java-api/annotations/conversational/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/impl/B2ServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversational.B2Service; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(B2Service.class) -@Scope("COMPOSITE") -public class B2ServiceImpl implements B2Service { - - String someState; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversational/src/main/resources/conversation.composite b/java/sca/vtest/java-api/annotations/conversational/src/main/resources/conversation.composite deleted file mode 100644 index 4c2de35d52..0000000000 --- a/java/sca/vtest/java-api/annotations/conversational/src/main/resources/conversation.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/conversational/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/ConversationAnnotationTestCase.java b/java/sca/vtest/java-api/annotations/conversational/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/ConversationAnnotationTestCase.java deleted file mode 100644 index c00d5f1c10..0000000000 --- a/java/sca/vtest/java-api/annotations/conversational/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversational/ConversationAnnotationTestCase.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversational; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * This test class tests the Service annotation described in section 1.2.1 and - * 1.8.17 - */ -public class ConversationAnnotationTestCase { - - protected static String compositeName = "conversation.composite"; - protected static AService aService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Line 328:
    - *

    - * When "@Conversational" is not specified on a service interface, the - * service contract is stateless.
    - *

    - * Line 394, 395:
    - * A service may be declared as conversational by marking its Java interface - * with "@Conversational". If a service interface is not marked with - * "@Conversational", it is stateless.
    - *

    - * BService has no "@Conversation" annotation so communication from A-> is - * stateless - */ - @Test - public void atConversation1() throws Exception { - String thisState = "This State"; - Assert.assertNotSame(thisState, aService.setThenGetB1State(thisState)); - } - - /** - * Line 325-327:
    - *

    - * Java service interfaces may be annotated to specify whether their - * contract is conversational as described in the Assembly Specification - * by using the "@Conversational" annotation. A conversational service - * indicates that requests to the service are correlated in some way - */ - @Test - public void atConversation2() throws Exception { - String thisState = "This State"; - Assert.assertSame(thisState, aService.setThenGetB2State(thisState)); - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/pom.xml b/java/sca/vtest/java-api/annotations/conversationattributes/pom.xml deleted file mode 100644 index 0c0236b440..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/pom.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-conversationattributes - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @ConversationAttributes - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-policy-security - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/AService.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/AService.java deleted file mode 100644 index a3f1f11826..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/AService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; - -/** - * Simple Service - */ -public interface AService { - - public void testMaxAge() throws InterruptedException; - public void testMaxIdle() throws InterruptedException; - public void testSinglePrincipal(); - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/B2Service.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/B2Service.java deleted file mode 100644 index 7290c31f1a..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/B2Service.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service - */ -@Conversational -public interface B2Service { - - public void setState(String someState); - public String getState(); - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/BService.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/BService.java deleted file mode 100644 index d38ca0276c..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/BService.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service - */ -@Conversational -public interface BService { - - public void setState(String someState); - public String getState(); - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/CService.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/CService.java deleted file mode 100644 index 5db8768398..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/CService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; - -import org.oasisopen.sca.ServiceReference; - -/** - * Simple Service - */ -public interface CService { - - public void testSinglePricipal(ServiceReference bReference); - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/AServiceImpl.java deleted file mode 100644 index a0a654920d..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/AServiceImpl.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.B2Service; -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.CService; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - protected BService b; - - @Reference - protected B2Service b2; - - @Reference - protected CService c; - - @Context - protected ComponentContext context; - - private void delayForSeconds(int numSeconds) { - try { - Thread.sleep(numSeconds * 1000);// millisecs - } catch (InterruptedException ex) { - throw new Error(ex); - } - } - - public void testMaxAge() { - - String someState = "someState"; - b.setState(someState); - delayForSeconds(2); - b.setState(someState); - - } - - public void testMaxIdle() { - - String someState = "someState"; - b2.setState(someState); - delayForSeconds(2); - b2.setState(someState); - - } - - public void testSinglePrincipal() { - - b.setState("Some state"); - System.out.println("Calling c and passing reference to b"); - c.testSinglePricipal(context.getServiceReference(BService.class, "b")); - - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/B2ServiceImpl.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/B2ServiceImpl.java deleted file mode 100644 index 2f711be74d..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/B2ServiceImpl.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.BService; -import org.oasisopen.sca.annotation.ConversationAttributes; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -@ConversationAttributes(maxIdleTime="1 seconds") -public class B2ServiceImpl implements BService { - - String someState; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/BServiceImpl.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/BServiceImpl.java deleted file mode 100644 index f9aa1de8bd..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/BServiceImpl.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.BService; -import org.oasisopen.sca.annotation.ConversationAttributes; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -@ConversationAttributes(maxAge="1 seconds", singlePrincipal=true) -public class BServiceImpl implements BService { - - String someState; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/CServiceImpl.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/CServiceImpl.java deleted file mode 100644 index cc1c0d18fd..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/impl/CServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.CService; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl implements CService { - - public void testSinglePricipal(ServiceReference bReference) { - - System.out.println("In C calling set state on passed reference to B"); - bReference.getService().setState("someState"); - - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/ACallbackHandler.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/ACallbackHandler.java deleted file mode 100644 index 3820240ee2..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/ACallbackHandler.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.NameCallback; -import javax.security.auth.callback.PasswordCallback; -import javax.security.auth.callback.UnsupportedCallbackException; - -/** - * @version $Rev$ $Date$ - */ -public class ACallbackHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - if (callbacks[i] instanceof NameCallback) { - NameCallback nc = (NameCallback)callbacks[i]; - nc.setName("AUser"); - } else if (callbacks[i] instanceof PasswordCallback) { - PasswordCallback pc = (PasswordCallback)callbacks[i]; - pc.setPassword("AUserPasswd".toCharArray()); - } else { - throw new UnsupportedCallbackException - (callbacks[i], "Unsupported Callback!"); - } - } - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/JaasLoginModule.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/JaasLoginModule.java deleted file mode 100644 index 75573b838d..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/JaasLoginModule.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security; - -import java.security.Principal; -import java.util.Map; - -import javax.security.auth.Subject; -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.NameCallback; -import javax.security.auth.callback.PasswordCallback; -import javax.security.auth.login.LoginException; -import javax.security.auth.spi.LoginModule; - - -/** - * @version $Rev$ $Date$ - */ -public class JaasLoginModule implements LoginModule { - - private CallbackHandler callbackHandler; - private Subject subject; - private Principal userPrincipal; - private String userId; - private String password; - private boolean succeeded; - private boolean commitSucceeded; - - public void initialize(Subject subject, - CallbackHandler callbackHandler, - Map sharedState, - Map options) { - this.callbackHandler = callbackHandler; - this.subject = subject; - } - - public boolean login() throws LoginException { - Callback[] callbacks = new Callback[2]; - callbacks[0] = new NameCallback("UserId:"); - callbacks[1] = new PasswordCallback("Password:", false); - - try { - callbackHandler.handle(callbacks); - userId = ((NameCallback)callbacks[0]).getName(); - password = new String(((PasswordCallback)callbacks[1]).getPassword()); - - if (userId.equals("CalculatorUser") && password.equals("CalculatorUserPasswd")) { - System.out.println("Successfully AUTHENTICATED!!"); - succeeded = true; - return true; - } else { - System.out.println("Incorrect userId / password! AUTHENTICATION FAILED!!"); - return false; - } - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - /** - *

    This method is called if the LoginContext's - * overall authentication succeeded - * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules - * succeeded). - * - *

    If this LoginModule's own authentication attempt - * succeeded (checked by retrieving the private state saved by the - * login method), then this method associates a - * UserPrincipal - * with the Subject located in the - * LoginModule. If this LoginModule's own - * authentication attempted failed, then this method removes - * any state that was originally saved. - * - *

    - * - * @exception LoginException if the commit fails. - * - * @return true if this LoginModule's own login and commit - * attempts succeeded, or false otherwise. - */ - public boolean commit() throws LoginException { - if (succeeded == false) { - return false; - } else { - // add a Principal (authenticated identity) to the Subject - - // assume the user we authenticated is the UserPrincipal - userPrincipal = new UserPrincipal(userId); - if (!subject.getPrincipals().contains(userPrincipal)) - subject.getPrincipals().add(userPrincipal); - - // in any case, clean out state - userId = null; - password = null; - commitSucceeded = true; - return true; - } - } - - /** - *

    This method is called if the LoginContext's - * overall authentication failed. - * (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules - * did not succeed). - * - *

    If this LoginModule's own authentication attempt - * succeeded (checked by retrieving the private state saved by the - * login and commit methods), - * then this method cleans up any state that was originally saved. - * - *

    - * - * @exception LoginException if the abort fails. - * - * @return false if this LoginModule's own login and/or commit attempts - * failed, and true otherwise. - */ - public boolean abort() throws LoginException { - if (succeeded == false) { - return false; - } else if (succeeded == true && commitSucceeded == false) { - // login succeeded but overall authentication failed - succeeded = false; - userId = null; - password = null; - userPrincipal = null; - } else { - // overall authentication succeeded and commit succeeded, - // but someone else's commit failed - logout(); - } - return true; - } - - /** - * Logout the user. - * - *

    This method removes the SimplePrincipal - * that was added by the commit method. - * - *

    - * - * @exception LoginException if the logout fails. - * - * @return true in all cases since this LoginModule - * should not be ignored. - */ - public boolean logout() throws LoginException { - subject.getPrincipals().remove(userPrincipal); - succeeded = false; - succeeded = commitSucceeded; - userId = null; - if (password != null) - password = null; - userPrincipal = null; - return true; - } - -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/UserPrincipal.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/UserPrincipal.java deleted file mode 100644 index 8349e775c5..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/security/UserPrincipal.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security; - -import java.security.Principal; - -/** - * @version $Rev$ $Date$ - */ -public class UserPrincipal implements Principal { - - private final String name; - - public UserPrincipal(String name) { - if (name == null) - throw new IllegalArgumentException("name cannot be null"); - this.name = name; - } - - public String getName() { - return name; - } - - public String toString() { - return name; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((name == null) ? 0 : name.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final UserPrincipal other = (UserPrincipal)obj; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - return true; - } -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/AJass.config b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/AJass.config deleted file mode 100644 index 9d5aec8ed5..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/AJass.config +++ /dev/null @@ -1,3 +0,0 @@ -AService { - org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security.JaasLoginModule required debug=true; -}; diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/conversation.composite b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/conversation.composite deleted file mode 100644 index 49391b3353..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/conversation.composite +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/definitions.xml b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/definitions.xml deleted file mode 100644 index d3573176a3..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/definitions.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - AService - org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.security.ACallbackHandler - - - - \ No newline at end of file diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/singleprincipal.composite b/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/singleprincipal.composite deleted file mode 100644 index c10369c9bd..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/main/resources/singleprincipal.composite +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/ConversationAttributesTestCase.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/ConversationAttributesTestCase.java deleted file mode 100644 index 952194430e..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/ConversationAttributesTestCase.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; -import org.oasisopen.sca.ConversationEndedException; - -/** - * This test class tests the Service annotation described in section 1.2.1 and - * 1.8.17 - */ -public class ConversationAttributesTestCase { - - protected static String compositeName = "conversation.composite"; - protected static AService aService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Line 1665, 1666 - *

    - * maxIdleTime (optional) - The maximum time that can pass between - * operations within a single conversation. If more time than this passes, - * then the container may end the conversation. - */ - @Test(expected = ConversationEndedException.class) - public void maxIdle() throws Exception { - aService.testMaxIdle(); - } - - /** - * Line 1667, 1668 - *

    - * maxAge (optional) - The maximum time that the entire conversation can - * remain active. If more time than this passes, then the container may end - * the conversation. - */ - @Test(expected = ConversationEndedException.class) - public void maxAge() throws Exception { - aService.testMaxAge(); - } - - /** - * Line 1669, 1670 - *

    - * singlePrincipal (optional) – If true, only the principal (the user) that - * started the conversation has authority to continue the conversation. - * The default value is false. - */ - @Ignore("TUSCANY-2608") - @Test(expected = Exception.class) - public void singlePrincipal() throws Exception { - aService.testSinglePrincipal(); - } -} diff --git a/java/sca/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/SinglePricipalTestCase.java b/java/sca/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/SinglePricipalTestCase.java deleted file mode 100644 index 4ebd667a00..0000000000 --- a/java/sca/vtest/java-api/annotations/conversationattributes/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/conversationattributes/SinglePricipalTestCase.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes; - -import javax.security.auth.login.Configuration; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -/** - * - */ -public class SinglePricipalTestCase { - - protected static String compositeName = "singleprincipal.composite"; - protected static AService aService = null; - - @Before - public void init() throws Exception { - try { - Configuration.getConfiguration(); - } catch (java.lang.SecurityException e) { - System.out.println("Caught SecurityException"); - System.setProperty("java.security.auth.login.config", this.getClass().getClassLoader() - .getResource("AJass.config").toString()); - } - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - } - - @After - public void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Line 1669, 1670 - *

    - * singlePrincipal (optional) – If true, only the principal (the user) that - * started the conversation has authority to continue the conversation. The - * default value is false. - */ - @Test(expected = Exception.class) - public void singlePrincipal() throws Exception { - aService.testSinglePrincipal(); - } -} diff --git a/java/sca/vtest/java-api/annotations/destroy/pom.xml b/java/sca/vtest/java-api/annotations/destroy/pom.xml deleted file mode 100644 index d0e306867f..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-destroy - - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Destroy - - - - org.apache.tuscany.sca - tuscany-node-impl - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/AService.java b/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/AService.java deleted file mode 100644 index 636e7fd8fc..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/AService.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService - */ -@Remotable -public interface AService { - public String getGreetings(String name); -} diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr1Impl.java b/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr1Impl.java deleted file mode 100644 index e790c9e6d2..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr1Impl.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. The implementation has an error since it annotates a protected - * method with "@Destroy". - */ -@Service(AService.class) -public class AServiceErr1Impl implements AService { - - @Destroy - protected void destroy() { - } - - public String getGreetings(String name) { - return "Hello " + name; - } -} diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr2Impl.java b/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr2Impl.java deleted file mode 100644 index 1d874007b2..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr2Impl.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. The implementation has an error since it annotates a private - * method with "@Destroy". - */ -@Service(AService.class) -public class AServiceErr2Impl implements AService { - - @Destroy - private void destroy() { - } - - public String getGreetings(String name) { - return "Hello " + name; - } -} diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr3Impl.java b/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr3Impl.java deleted file mode 100644 index bf4b0736ca..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr3Impl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. The implementation has an error since it annotates a - * method with non-void return type with "@Destroy". - */ -@Service(AService.class) -public class AServiceErr3Impl implements AService { - - @Destroy - public String destroy() { - return null; - } - - public String getGreetings(String name) { - return "Hello " + name; - } -} diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr4Impl.java b/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr4Impl.java deleted file mode 100644 index a320e6b3ff..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceErr4Impl.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. The implementation has an error since it annotates a - * method with arguments with "@Destroy". - */ -@Service(AService.class) -public class AServiceErr4Impl implements AService { - - @Destroy - public void destroy(int x) { - } - - public String getGreetings(String name) { - return "Hello " + name; - } -} diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceImpl.java deleted file mode 100644 index 4c77104866..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/impl/AServiceImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.destroy.AService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - @Destroy - public void destroy() { - } - - public String getGreetings(String name) { - return "Hello " + name; - } -} diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err1/AServiceErr1.composite b/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err1/AServiceErr1.composite deleted file mode 100644 index b03a0defe5..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err1/AServiceErr1.composite +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err2/AServiceErr2.composite b/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err2/AServiceErr2.composite deleted file mode 100644 index 93aafdd971..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err2/AServiceErr2.composite +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err3/AServiceErr3.composite b/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err3/AServiceErr3.composite deleted file mode 100644 index eb8f6e59ca..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err3/AServiceErr3.composite +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err4/AServiceErr4.composite b/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err4/AServiceErr4.composite deleted file mode 100644 index 296a386876..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/err4/AServiceErr4.composite +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/proper/AService.composite b/java/sca/vtest/java-api/annotations/destroy/src/main/resources/proper/AService.composite deleted file mode 100644 index 4373bc2558..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/main/resources/proper/AService.composite +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/destroy/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/DestroyAnnotationTestCase.java b/java/sca/vtest/java-api/annotations/destroy/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/DestroyAnnotationTestCase.java deleted file mode 100644 index 72834a6803..0000000000 --- a/java/sca/vtest/java-api/annotations/destroy/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/destroy/DestroyAnnotationTestCase.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.destroy; - -import java.io.File; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.node.SCAClient; -import org.apache.tuscany.sca.node.SCAContribution; -import org.apache.tuscany.sca.node.SCANode; -import org.apache.tuscany.sca.node.SCANodeFactory; -import org.junit.Test; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * This test class tests the "@Destroy" annotation described in section 1.8.8. - */ -public class DestroyAnnotationTestCase { - - /** - * Lines 1225, 1226, 1227
    - * The "@Destroy" annotation type is used to annotate a Java class method - * that will be called when the scope defined for the local service - * implemented by the class ends. The method must have a void return value - * and no arguments. The annotated method must be public. - *

    - * This method tests a proper destroy method. i.e., public, no arguments and - * with void return type. - */ - @Test - public void atDestroyProper() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/proper/AService.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/proper").toURL().toString())); - node.start(); - AService aService = ((SCAClient)node).getService(AService.class, "AComponent"); - Assert.assertEquals("Hello Pandu", aService.getGreetings("Pandu")); - node.stop(); - } - - /** - * Lines 1225, 1226, 1227
    - * The "@Destroy" annotation type is used to annotate a Java class method - * that will be called when the scope defined for the local service - * implemented by the class ends. The method must have a void return value - * and no arguments. The annotated method must be public. - *

    - * This method tests that an exception is thrown when a protected method is - * annotated with "@Destroy". - */ - @Test - public void atDestroyProtectedMethod() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - try { - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err1/AServiceErr1.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/err1").toURL().toString())); - Assert.fail(); - node.stop(); - } catch(ServiceRuntimeException e) { - //expected - Assert.assertNotSame(-1, e.getMessage().indexOf("Destructor must be a public method.")); - } - } - - /** - * Lines 1225, 1226, 1227
    - * The "@Destroy" annotation type is used to annotate a Java class method - * that will be called when the scope defined for the local service - * implemented by the class ends. The method must have a void return value - * and no arguments. The annotated method must be public. - *

    - * This method tests that an exception is thrown when a private method is - * annotated with "@Destroy". - */ - @Test - public void atDestroyPrivateMethod() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - try { - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err2/AServiceErr2.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/err2").toURL().toString())); - Assert.fail(); - node.stop(); - } catch(ServiceRuntimeException e) { - //expected - Assert.assertNotSame(-1, e.getMessage().indexOf("Destructor must be a public method.")); - } - } - - /** - * Lines 1225, 1226, 1227
    - * The "@Destroy" annotation type is used to annotate a Java class method - * that will be called when the scope defined for the local service - * implemented by the class ends. The method must have a void return value - * and no arguments. The annotated method must be public. - *

    - * This method tests that an exception is thrown when a method with non-void - * return type is annotated with "@Destroy". - */ - @Test - public void atDestroyNonVoidReturnType() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - try { - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err3/AServiceErr3.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/err3").toURL().toString())); - Assert.fail(); - node.stop(); - } catch(ServiceRuntimeException e) { - //expected - Assert.assertNotSame(-1, e.getMessage().indexOf("Destructor must return void.")); - } - } - - /** - * Lines 1225, 1226, 1227
    - * The "@Destroy" annotation type is used to annotate a Java class method - * that will be called when the scope defined for the local service - * implemented by the class ends. The method must have a void return value - * and no arguments. The annotated method must be public. - *

    - * This method tests that an exception is thrown when a method with arguments is - * annotated with "@Destroy". - */ - @Test - public void atDestroyMethodWithArgs() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - try { - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err4/AServiceErr4.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/err4").toURL().toString())); - Assert.fail(); - node.stop(); - } catch(ServiceRuntimeException e) { - //expected - Assert.assertNotSame(-1, e.getMessage().indexOf("Destructor must not have argments")); - } - } -} diff --git a/java/sca/vtest/java-api/annotations/endsconversation/pom.xml b/java/sca/vtest/java-api/annotations/endsconversation/pom.xml deleted file mode 100644 index 9c763a1111..0000000000 --- a/java/sca/vtest/java-api/annotations/endsconversation/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-endsconversation - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @EndsConversation - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/AService.java b/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/AService.java deleted file mode 100644 index 13bcb1fd51..0000000000 --- a/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/AService.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation; - -/** - * Simple Remotable Service - */ -public interface AService { - - public void testAtEndsConversation(); - - public void testSREndConversation(); - - public void testTimedEnd(); - -} diff --git a/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/BService.java b/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/BService.java deleted file mode 100644 index 01d3ef051e..0000000000 --- a/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/BService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.EndsConversation; - -/** - * Simple Local Service - */ -@Conversational -public interface BService { - - public void setState(String someState); - - public String getConversationId(); - - @EndsConversation - public void endConversation(); - -} diff --git a/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/AServiceImpl.java deleted file mode 100644 index 606020cf85..0000000000 --- a/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/AServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.BService; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.junit.Assert; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - protected BService b; - - @Reference - protected ServiceReference b2; - - private void delayForSeconds(int numSeconds) { - try { - Thread.sleep(numSeconds * 1000);// millisecs - } catch (InterruptedException ex) { - throw new Error(ex); - } - } - - public void testAtEndsConversation() { - String firstId; - b.setState("SomeState"); - firstId = b.getConversationId(); - b.endConversation(); - b.setState("SomeState");// This should start a new conversation - Assert.assertNotSame(b.getConversationId(), firstId); - } - - public void testSREndConversation() { - String firstId; - b2.getService().setState("SomeState"); - firstId = b2.getService().getConversationId(); - b2.getConversation().end(); - b2.getService().setState("SomeState");// This should start a new conversation - Assert.assertNotSame(b2.getService().getConversationId(), firstId); - } - - public void testTimedEnd() { - b.setState("someState"); - delayForSeconds(2); - b.setState("someState"); // should fail w/ timeout - } - -} diff --git a/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/BServiceImpl.java b/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/BServiceImpl.java deleted file mode 100644 index 56644c6967..0000000000 --- a/java/sca/vtest/java-api/annotations/endsconversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/impl/BServiceImpl.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation.BService; -import org.oasisopen.sca.annotation.ConversationAttributes; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -@ConversationAttributes(maxIdleTime="1 seconds") -public class BServiceImpl implements BService { - - String someState; - - protected String conversationId; - - public void setState(String someState) { - this.someState = someState; - } - - @ConversationID - public void setConversationID (String id){ - this.conversationId = id; - System.out.println("BService conversation ID =>" + conversationId); - } - - public String getState() { - return someState; - } - - public String getConversationId() { - return conversationId; - } - - public void endConversation() { - System.out.println("Conversation ended"); - } - -} diff --git a/java/sca/vtest/java-api/annotations/endsconversation/src/main/resources/endsconversation.composite b/java/sca/vtest/java-api/annotations/endsconversation/src/main/resources/endsconversation.composite deleted file mode 100644 index cbc13e380c..0000000000 --- a/java/sca/vtest/java-api/annotations/endsconversation/src/main/resources/endsconversation.composite +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/endsconversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/EndsConversationTestCase.java b/java/sca/vtest/java-api/annotations/endsconversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/EndsConversationTestCase.java deleted file mode 100644 index 61d7e25187..0000000000 --- a/java/sca/vtest/java-api/annotations/endsconversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/endsconversation/EndsConversationTestCase.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.endsconversation; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.oasisopen.sca.ConversationEndedException; - -/** - * This test class tests the Service annotation described in section 1.2.1 and - * 1.8.17 - */ -public class EndsConversationTestCase { - - protected static String compositeName = "endsconversation.composite"; - protected static AService aService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Lines 410,411,412,413: - *

    - * A method of a conversational interface may be marked with an - * "@EndsConversation" annotation. Once a method marked with - * "@EndsConversation" has been called, the conversation between client and - * service provider is at an end, which implies no further methods may be - * called on that service within the *same* conversation. - */ - @Test - public void atEndsConversation1() throws Exception { - aService.testAtEndsConversation(); - } - - /** - * Lines 417,418,419,420: - *

    - * From the errata:
    - * Solution: Replace lines 417-420 at the end of section 1.6.2.2 with the - * following: "If a conversation is ended with an explicit outbound call to - * an "@EndsConversation" method or a call to - * ServiceReference.endConversation(), then any subsequent call to an - * operation on the service reference will start a new conversation. If the - * conversation ends for any other reason (e.g. a timeout occurred), then - * until ServiceReference.getConversation().end() is called, the - * ConversationEndedException will be thrown by any conversational - * operation." - *

    - * This tests the first section of the errata. Up to "start a new - * conversation" - */ - @Test - public void atEndsConversation2() throws Exception { - aService.testSREndConversation(); - } - - /** - * Lines 417,418,419,420: - *

    - * From the errata:
    - * Solution: Replace lines 417-420 at the end of section 1.6.2.2 with the - * following: "If a conversation is ended with an explicit outbound call to - * an "@EndsConversation" method or a call to - * ServiceReference.endConversation(), then any subsequent call to an - * operation on the service reference will start a new conversation. If the - * conversation ends for any other reason (e.g. a timeout occurred), then - * until ServiceReference.getConversation().end() is called, the - * ConversationEndedException will be thrown by any conversational - * operation." - *

    - * This tests the second section of the errata. Starting with .. "If the - * conversation ends for any other reason ..." - */ - @Test(expected = ConversationEndedException.class) - public void atEndsConversation3() throws Exception { - aService.testTimedEnd(); - } -} diff --git a/java/sca/vtest/java-api/annotations/init/pom.xml b/java/sca/vtest/java-api/annotations/init/pom.xml deleted file mode 100644 index 9700b6870c..0000000000 --- a/java/sca/vtest/java-api/annotations/init/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-init - - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Init - - - - org.apache.tuscany.sca - tuscany-node-impl - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/AService.java b/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/AService.java deleted file mode 100644 index 9f6b9bcffd..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/AService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.init; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService - */ -@Remotable -public interface AService { - public String getGreetings(String name); - public boolean isInitProper(); -} diff --git a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr1Impl.java b/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr1Impl.java deleted file mode 100644 index c48b2e2070..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr1Impl.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. The implementation has an error since it annotates a protected - * method with "@Init". - */ -@Service(AService.class) -public class AServiceErr1Impl implements AService { - - @Init - protected void init() { - } - - public String getGreetings(String name) { - return "Hello " + name; - } - - public boolean isInitProper() { - return false; - } -} diff --git a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr2Impl.java b/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr2Impl.java deleted file mode 100644 index 532b1d16eb..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr2Impl.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. The implementation has an error since it annotates a private - * method with "@Init". - */ -@Service(AService.class) -public class AServiceErr2Impl implements AService { - - @Init - private void init() { - } - - public String getGreetings(String name) { - return "Hello " + name; - } - - public boolean isInitProper() { - return false; - } -} diff --git a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr3Impl.java b/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr3Impl.java deleted file mode 100644 index b69a2541b0..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr3Impl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. The implementation has an error since it annotates a - * method with non-void return type with "@Init". - */ -@Service(AService.class) -public class AServiceErr3Impl implements AService { - - @Init - public String init() { - return null; - } - - public String getGreetings(String name) { - return "Hello " + name; - } - - public boolean isInitProper() { - return false; - } -} diff --git a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr4Impl.java b/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr4Impl.java deleted file mode 100644 index 76f905cff0..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceErr4Impl.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. The implementation has an error since it annotates a - * method with arguments with "@Init". - */ -@Service(AService.class) -public class AServiceErr4Impl implements AService { - - @Init - public void init(int x) { - } - - public String getGreetings(String name) { - return "Hello " + name; - } - - public boolean isInitProper() { - return false; - } -} diff --git a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceImpl.java deleted file mode 100644 index 14c0e9c2da..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/impl/AServiceImpl.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.init.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.init.AService; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - private boolean initProper; - - @Property - public String someProperty; - - @Reference - public AService someReference; - - @Init - public void init() { - initProper = someProperty != null && someReference != null; - } - - public String getGreetings(String name) { - return "Hello " + name; - } - - public boolean isInitProper() { - return initProper; - } -} diff --git a/java/sca/vtest/java-api/annotations/init/src/main/resources/err1/AServiceErr1.composite b/java/sca/vtest/java-api/annotations/init/src/main/resources/err1/AServiceErr1.composite deleted file mode 100644 index 01b8e101e0..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/resources/err1/AServiceErr1.composite +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/init/src/main/resources/err2/AServiceErr2.composite b/java/sca/vtest/java-api/annotations/init/src/main/resources/err2/AServiceErr2.composite deleted file mode 100644 index 4ae38d44b6..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/resources/err2/AServiceErr2.composite +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/init/src/main/resources/err3/AServiceErr3.composite b/java/sca/vtest/java-api/annotations/init/src/main/resources/err3/AServiceErr3.composite deleted file mode 100644 index 6bc3d8e7fc..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/resources/err3/AServiceErr3.composite +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/init/src/main/resources/err4/AServiceErr4.composite b/java/sca/vtest/java-api/annotations/init/src/main/resources/err4/AServiceErr4.composite deleted file mode 100644 index 7ade16e6d3..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/resources/err4/AServiceErr4.composite +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/init/src/main/resources/proper/AService.composite b/java/sca/vtest/java-api/annotations/init/src/main/resources/proper/AService.composite deleted file mode 100644 index 35f13a2ae6..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/main/resources/proper/AService.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - hello - - - - - - diff --git a/java/sca/vtest/java-api/annotations/init/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/InitAnnotationTestCase.java b/java/sca/vtest/java-api/annotations/init/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/InitAnnotationTestCase.java deleted file mode 100644 index 6ee7b8de89..0000000000 --- a/java/sca/vtest/java-api/annotations/init/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/init/InitAnnotationTestCase.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.init; - -import java.io.File; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.node.SCAClient; -import org.apache.tuscany.sca.node.SCAContribution; -import org.apache.tuscany.sca.node.SCANode; -import org.apache.tuscany.sca.node.SCANodeFactory; -import org.junit.Test; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * This test class tests the "@Init" annotation described in section 1.8.11. - */ -public class InitAnnotationTestCase { - - /** - * Lines 1290, 1291, 1292, 1293
    - * The "@Init" annotation type is used to annotate a Java class method that - * is called when the scope defined for the local service implemented by the - * class starts. The method must have a void return value and no arguments. - * The annotated method must be public. The annotated method is called after - * all property and reference injection is complete. - *

    - * This method tests a proper init method i.e., public, no arguments and with - * void return type.
    - * Expected result: Method must be called. Method must be called after all property - * and reference injection is complete. - */ - @Test - public void atInitProper() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/proper/AService.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/proper").toURL().toString())); - node.start(); - AService aService = ((SCAClient)node).getService(AService.class, "AComponent"); - Assert.assertTrue(aService.isInitProper()); - Assert.assertEquals("Hello Pandu", aService.getGreetings("Pandu")); - node.stop(); - } - - /** - * Lines 1290, 1291, 1292, 1293
    - * The "@Init" annotation type is used to annotate a Java class method that - * is called when the scope defined for the local service implemented by the - * class starts. The method must have a void return value and no arguments. - * The annotated method must be public. The annotated method is called after - * all property and reference injection is complete. - *

    - * This method tests that an exception is thrown when a protected method is - * annotated with "@Init". - */ - @Test - public void atInitProtectedMethod() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - try { - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err1/AServiceErr1.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/err1").toURL().toString())); - Assert.fail(); - node.stop(); - } catch(ServiceRuntimeException e) { - //expected - Assert.assertNotSame(-1, e.getMessage().indexOf("Initializer must be a public method.")); - } - } - - /** - * Lines 1290, 1291, 1292, 1293
    - * The "@Init" annotation type is used to annotate a Java class method that - * is called when the scope defined for the local service implemented by the - * class starts. The method must have a void return value and no arguments. - * The annotated method must be public. The annotated method is called after - * all property and reference injection is complete. - *

    - * This method tests that an exception is thrown when a private method is - * annotated with "@Init". - */ - @Test - public void atInitPrivateMethod() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - try { - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err2/AServiceErr2.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/err2").toURL().toString())); - Assert.fail(); - node.stop(); - } catch(ServiceRuntimeException e) { - //expected - Assert.assertNotSame(-1, e.getMessage().indexOf("Initializer must be a public method.")); - } - } - - /** - * Lines 1290, 1291, 1292, 1293
    - * The "@Init" annotation type is used to annotate a Java class method that - * is called when the scope defined for the local service implemented by the - * class starts. The method must have a void return value and no arguments. - * The annotated method must be public. The annotated method is called after - * all property and reference injection is complete. - *

    - * This method tests that an exception is thrown when a method with non-void - * return type is annotated with "@Init". - */ - @Test - public void atInitNonVoidReturnType() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - try { - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err3/HelloWorldErr3.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/err3").toURL().toString())); - Assert.fail(); - node.stop(); - } catch(ServiceRuntimeException e) { - //expected - Assert.assertNotSame(-1, e.getMessage().indexOf("Initializer must return void.")); - } - } - - /** - * Lines 1290, 1291, 1292, 1293
    - * The "@Init" annotation type is used to annotate a Java class method that - * is called when the scope defined for the local service implemented by the - * class starts. The method must have a void return value and no arguments. - * The annotated method must be public. The annotated method is called after - * all property and reference injection is complete. - *

    - * This method tests that an exception is thrown when a method with arguments is - * annotated with "@Init". - */ - @Test - public void atInitMethodWithArgs() throws Exception { - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - try { - SCANode node = nodeFactory.createSCANode(new File("src/main/resources/err4/HelloWorldErr4.composite").toURL().toString(), - new SCAContribution("TestContribution", - new File("src/main/resources/err4").toURL().toString())); - Assert.fail(); - node.stop(); - } catch(ServiceRuntimeException e) { - //expected - Assert.assertNotSame(-1, e.getMessage().indexOf("Initializer must not have argments")); - } - } -} diff --git a/java/sca/vtest/java-api/annotations/oneway/pom.xml b/java/sca/vtest/java-api/annotations/oneway/pom.xml deleted file mode 100644 index 99f1420712..0000000000 --- a/java/sca/vtest/java-api/annotations/oneway/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-oneway - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @OneWay - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/AService.java b/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/AService.java deleted file mode 100644 index b68cd53167..0000000000 --- a/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/AService.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway; - -import org.oasisopen.sca.annotation.OneWay; - -/** - * Simple Remotable Service - */ -public interface AService { - - @OneWay - public void setNameOneWay(String name); - -} diff --git a/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/BService.java b/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/BService.java deleted file mode 100644 index 1cb4f3adf5..0000000000 --- a/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/BService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway; - -/** - * Simple Local Service - */ -public interface BService { - - public void setNameOneWay(String name); - -} diff --git a/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/AServiceImpl.java deleted file mode 100644 index d95ea22456..0000000000 --- a/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/AServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.BService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - protected BService b; - - public void setNameOneWay(String name) { - b.setNameOneWay(name); - } - -} diff --git a/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/BServiceImpl.java b/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/BServiceImpl.java deleted file mode 100644 index 4f63a23429..0000000000 --- a/java/sca/vtest/java-api/annotations/oneway/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/impl/BServiceImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.oneway.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - String name; - - private void delay2Seconds() { - try { - Thread.sleep(2000);// millisecs - } catch (InterruptedException ex) { - throw new Error(ex); - } - } - - public void setNameOneWay(String name) { - delay2Seconds(); - this.name = name; - } - -} diff --git a/java/sca/vtest/java-api/annotations/oneway/src/main/resources/oneway.composite b/java/sca/vtest/java-api/annotations/oneway/src/main/resources/oneway.composite deleted file mode 100644 index 47a7a98c7d..0000000000 --- a/java/sca/vtest/java-api/annotations/oneway/src/main/resources/oneway.composite +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/oneway/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/OneWayAnnotationTestCase.java b/java/sca/vtest/java-api/annotations/oneway/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/OneWayAnnotationTestCase.java deleted file mode 100644 index f2fb8d0dc8..0000000000 --- a/java/sca/vtest/java-api/annotations/oneway/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/oneway/OneWayAnnotationTestCase.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.oneway; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * This test class tests the Service annotation described in section 1.2.1 and - * 1.8.17 - */ -public class OneWayAnnotationTestCase { - - protected static String compositeName = "oneway.composite"; - protected static AService aService = null; - protected static BService bService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Line 384,385,386:
    - *

    - * Any method that returns "void" and has no declared exceptions may be - * marked with an "@OneWay" annotation. This means that the method is - * non-blocking and communication with the service provider may use a - * binding that buffers the requests and sends it at some later time. - *

    - * Line 1319, 1320:
    - *

    - * The "@OneWay" annotation type is used to annotate a Java interface method - * to indicate that invocations will be dispatched in a non-blocking fashion - * as described in the section on Asynchronous Programming.
    - *

    - * The serviceMethod on A is annotated with "@OneWay". The A implementation - * delegates to b's method which includes a 2 seconds delay. So, this will - * fail if the call to A is blocking. - */ - @Test(timeout = 500) - public void atOneWay1() throws Exception { - aService.setNameOneWay("Some Name"); - } - -} diff --git a/java/sca/vtest/java-api/annotations/pom.xml b/java/sca/vtest/java-api/annotations/pom.xml deleted file mode 100644 index 402ea03f7a..0000000000 --- a/java/sca/vtest/java-api/annotations/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-java-api - 2.0-SNAPSHOT - ../pom.xml - - java-api-annotations - pom - - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - - - - default - - true - - - reference - service - property - scope - init - destroy - oneway - conversational - conversationattributes - endsconversation - - - - diff --git a/java/sca/vtest/java-api/annotations/property/pom.xml b/java/sca/vtest/java-api/annotations/property/pom.xml deleted file mode 100644 index 0c36e98879..0000000000 --- a/java/sca/vtest/java-api/annotations/property/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-property - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Property - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java deleted file mode 100644 index 5cfea1b099..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AService.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.property; - -/** - * Simple Service - */ -public interface AService { - - public String getName(); - - public String getP1(); - - public String getP2(); - - public String getP3(); - - public String getP4(); - - public String getP5(); - - public String getP6(); - - public String getP7AString(); - - public int getP7BInt(); - - public String getP8AString(); - - public int getP8BInt(); - - public String getP9AString(); - - public int getP9BInt(); - - public String getP10AString(); - - public int getP10BInt(); - - public String getP11AString(); - - public int getP11BInt(); - - public String getP12AString(); - - public int getP12BInt(); - - public String getP15(); - - public String getP16(); - - public String getP17(); - - public String getP18(); - - public int getP19Size(); - - public String getP20(int i); - - public int getP20Size(); - - public int getP21(int i); - - public int getP21Size(); - -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java deleted file mode 100644 index 5ddc59f8b6..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/AnotherAService.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.property; - -/** - * Simple Service - */ -public interface AnotherAService { - - public String getName(); - - public String getP13(); - - public String getP14(); - - public String getP22(); - - public String getP23(); - - public String getP24(); - - public String getP25(); - - public boolean getP14SetterIsCalled(); - - public boolean getP23SetterIsCalled(); - - public boolean getP24SetterIsCalled(); - - public boolean getP25SetterIsCalled(); - -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java deleted file mode 100644 index c39d4e2504..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/BService.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.property; - -import org.oasisopen.sca.annotation.Remotable; - - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - String getName(); - -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java deleted file mode 100644 index 5de3b5fcff..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/CService.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.property; - - -/** - * Simple Service used by another service - */ -public interface CService { - - String getName(); - - public String getB1Name(); - - public String getP2(); - - public int getP3(); - - public String getP4(); - - public String getConstructor(); -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java deleted file mode 100644 index f30c4c69fc..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AObject.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -/** - * A simple object to hold a string - */ -public class AObject { - - public String aString; - public int bInt; - - public AObject() { - this.aString = null; - this.bInt = 0; - } - -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java deleted file mode 100644 index 6dd91b598d..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AServiceImpl.java +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -import java.util.List; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.AService; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Property; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Property - protected String p1; // simple Java type injected via field - - @Property - public String p2; // simple Java type injected via field - - protected String p3; // simple Java type injected via setter - - public String p4; // simple Java type injected via setter - - protected String p5; // simple Java type injected via constructor parameter - - public String p6; // simple Java type injected via constructor parameter - - @Property(required=true) - protected AObject p7; // complex Java type injected via field - - @Property - public AObject p8; // complex Java type injected via field - - protected AObject p9; // complex Java type injected via setter - - public AObject p10; // complex Java type injected via setter - - protected AObject p11; // complex Java type injected via constructor parameter - - public AObject p12; // complex Java type injected via constructor parameter - - @Property(name="pFifteen") - protected String p15; // injected via field with different name - - protected String p16; // injected via setter with different name - - @Property(name="p17", required=false) - public String p17; // injected via field but not defined in composite - - public String p18; // injected via setter but not defined in composite - - @Property(name="p19", required=true) - public List p19; // a List and injected via field with no element - - public List p20; // a List and injected via setter - - @Property(required=false) - public Integer[] p21; // an array and injected via field - - public String getName() { - return "AService"; - } - - public AServiceImpl( - @Property(name = "p5") String p5, - @Property(name = "p6") String p6, - @Property(name = "p11") AObject p11, - @Property(name = "p12") AObject p12 - ) { - super(); - this.p5 = p5; - this.p6 = p6; - this.p11 = p11; - this.p12 = p12; - } - - @Property - public void setP3(String p3) { - this.p3 = p3; - } - - @Property(required=true) - public void setP4(String p4) { - this.p4 = p4; - } - - @Property - public void setP9(AObject p9) { - this.p9 = p9; - } - - @Property - public void setP10(AObject p10) { - this.p10 = p10; - } - - @Property(name="pSixteen") - public void setP16(String p16) { - this.p16 = p16; - } - - @Property(name="p18", required=false) - public void setP18(String p18) { - this.p18 = p18; - } - - @Property(name="p20", required=true) - public void setP20(List p20) { - this.p20 = p20; - } - - public String getP1() { - return p1; - } - - public String getP2() { - return p2; - } - - public String getP3() { - return p3; - } - - public String getP4() { - return p4; - } - - public String getP5() { - return p5; - } - - public String getP6() { - return p6; - } - - public String getP7AString() { - return p7.aString; - } - - public int getP7BInt() { - return p7.bInt; - } - - public String getP8AString() { - return p8.aString; - } - - public int getP8BInt() { - return p8.bInt; - } - - public String getP9AString() { - return p9.aString; - } - - public int getP9BInt() { - return p9.bInt; - } - - public String getP10AString() { - return p10.aString; - } - - public int getP10BInt() { - return p10.bInt; - } - - public String getP11AString() { - return p11.aString; - } - - public int getP11BInt() { - return p11.bInt; - } - - public String getP12AString() { - return p12.aString; - } - - public int getP12BInt() { - return p12.bInt; - } - - public String getP15() { - return p15; - } - - public String getP16() { - return p16; - } - - public String getP17() { - return p17; - } - - public String getP18() { - return p18; - } - - public int getP19Size() { - return p19.size(); - } - - public String getP20(int i) { - return p20.get(i); - } - - public int getP20Size() { - return p20.size(); - } - - public int getP21(int i) { - return p21[i].intValue(); - } - - public int getP21Size() { - return p21.length; - } - -} - - - diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java deleted file mode 100644 index b6d51ef253..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/AnotherAServiceImpl.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.AnotherAService; -import org.oasisopen.sca.annotation.Service; - -@Service(AnotherAService.class) -public class AnotherAServiceImpl implements AnotherAService { - - public String p13; // injected via field and un-annotated - - public String p14; // injected via setter and un-annotated - - protected String p22; // unannotated protected field should not be injected - - protected String p23; // un-annotated protected and has protected setter - - protected String p24; // un-annotated protected field and has public setter - - private String p25; // un-annotated private field and has public setter - - public boolean p14SetterIsCalled = false; - - public boolean p23SetterIsCalled = false; - - public boolean p24SetterIsCalled = false; - - public boolean p25SetterIsCalled = false; - - - public String getName() { - return "AService"; - } - - public void setP14(String p14) { - p14SetterIsCalled = true; - this.p14 = p14; - } - - protected void setP23(String p23) { - p23SetterIsCalled = true; - this.p23 = p23; - } - - public void setP24(String p24) { - p24SetterIsCalled = true; - this.p24 = p24; - } - - public void setP25(String p25) { - p25SetterIsCalled = true; - this.p25 = p25; - } - - public String getP13() { - return p13; - } - - public String getP14() { - return p14; - } - - public String getP22() { - return p22; - } - - public String getP23() { - return p23; - } - - public String getP24() { - return p24; - } - - public String getP25() { - return p25; - } - - public boolean getP14SetterIsCalled() { - return p14SetterIsCalled; - } - - - public boolean getP23SetterIsCalled() { - return p23SetterIsCalled; - } - - - public boolean getP24SetterIsCalled() { - return p24SetterIsCalled; - } - - - public boolean getP25SetterIsCalled() { - return p25SetterIsCalled; - } - -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java deleted file mode 100644 index d6a36f54a9..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/BServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java deleted file mode 100644 index ace9da2904..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl1.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl1 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - @Constructor - public CServiceImpl1() { - constructor = "NoArgument"; - } - - public CServiceImpl1(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "AllArguments"; - } - - public CServiceImpl1(BService bOne, String pTwo, int pThree) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - constructor = "LessArguments"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java deleted file mode 100644 index 4396b6ce32..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl2.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl2 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl2() { - constructor = "NoArgument"; - } - - @Constructor() - public CServiceImpl2(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "AllArguments"; - } - - public CServiceImpl2(BService bOne, String pTwo, int pThree) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - constructor = "LessArguments"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java deleted file mode 100644 index cd459f2dd1..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl3.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl3 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl3() { - constructor = "NoArgument"; - } - - @Constructor({"bOne", "pTwo", "pThree", "pFour"}) - public CServiceImpl3(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "AllArguments"; - } - - public CServiceImpl3(BService bOne, String pTwo, int pThree) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - constructor = "LessArguments"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java deleted file mode 100644 index c22ee08f95..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl4.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl4 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl4() { - constructor = "NoArgument"; - } - - public CServiceImpl4(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4, int extra) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "ExtraArguments"; - } - - @Constructor({"bOne", "pTwo", "pThree", "pFour"}) - public CServiceImpl4(BService bOne, String pTwo, int pThree, String pFour) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - this.p4 = pFour; - constructor = "AllArguments"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java deleted file mode 100644 index 02892ca7f3..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl5.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl5 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl5() { - constructor = "NoArgument"; - } - - public CServiceImpl5(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4, int extra) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "ExtraArguments"; - } - - @Constructor({"bOne", "pFour", "pThree", "pTwo"}) - public CServiceImpl5(BService bOne, String pTwo, int pThree, String pFour) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - this.p4 = pFour; - constructor = "SwitchedValues"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java b/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java deleted file mode 100644 index ed2c3dc365..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/impl/CServiceImpl6.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.property.CService; -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl6 implements CService { - - public BService b1; - - public String p2; - - public int p3; - - public String p4; - - public String constructor; - - public CServiceImpl6() { - constructor = "NoArgument"; - } - - public CServiceImpl6(@Reference(name = "bOne") BService b1, @Property(name = "pTwo") String p2, @Property(name = "pThree") int p3, @Property(name = "pFour") String p4, int extra) { - this.b1 = b1; - this.p2 = p2; - this.p3 = p3; - this.p4 = p4; - constructor = "ExtraArguments"; - } - - @Constructor({"bOne", "pTwo", "pThree", "pWrong"}) - public CServiceImpl6(BService bOne, String pTwo, int pThree, String pFour) { - this.b1 = bOne; - this.p2 = pTwo; - this.p3 = pThree; - this.p4 = pFour; - constructor = "WrongValues"; - } - - public String getName() { - return "BService"; - } - - public String getB1Name() { - if (b1 == null) - return null; - return b1.getName(); - } - - public String getP2() { - return p2; - } - - public int getP3() { - return p3; - } - - public String getConstructor() { - return constructor; - } - - public String getP4() { - return p4; - } -} diff --git a/java/sca/vtest/java-api/annotations/property/src/main/resources/property.composite b/java/sca/vtest/java-api/annotations/property/src/main/resources/property.composite deleted file mode 100644 index f7af170f33..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/main/resources/property.composite +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - p1 - p2 - p3 - p4 - p5 - p6 - - - p7.aString - 7 - - - - - p8.aString - 8 - - - - - p9.aString - 9 - - - - - p10.aString - 10 - - - - - p11.aString - 11 - - - - - p12.aString - 12 - - - p15 - p16 - - "p20" - 2 1 21 - - - - - - p2 - 3 - p4 - - - - - - p2 - 3 - p4 - - - - - - p2 - 3 - p4 - - - - - - p2 - 3 - p4 - - - - - - p2 - 3 - p4 - - - - - - p2 - 3 - p4 - - - - - - - - - p13 - p14 - p22 - p23 - p24 - p25 - - diff --git a/java/sca/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java b/java/sca/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java deleted file mode 100644 index d5fbc568f7..0000000000 --- a/java/sca/vtest/java-api/annotations/property/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/property/PropertyAnnotationTestCase.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.property; - -import static org.junit.Assert.fail; -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * This test class tests the Property annotation described in section 1.2.3 - * including 1.8.5 and 1.8.13 - */ -public class PropertyAnnotationTestCase { - - protected static String compositeName = "property.composite"; - protected static AService aService = null; - protected static CService cService1 = null; - protected static CService cService2 = null; - protected static CService cService3 = null; - protected static CService cService4 = null; - protected static CService cService5 = null; - protected static CService cService6 = null; - protected static AnotherAService anotherAService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - cService1 = ServiceFinder.getService(CService.class, "CComponent1"); - cService2 = ServiceFinder.getService(CService.class, "CComponent2"); - cService3 = ServiceFinder.getService(CService.class, "CComponent3"); - cService4 = ServiceFinder.getService(CService.class, "CComponent4"); - cService5 = ServiceFinder.getService(CService.class, "CComponent5"); - cService6 = ServiceFinder.getService(CService.class, "CComponent6"); - anotherAService = ServiceFinder.getService(AnotherAService.class, "AnotherAComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Lines 1343 to 1348:
    - * The "@Property" annotation type is used to annotate a Java class field or - * a setter method that is used to inject an SCA property value. The type of - * the property injected, which can be a simple Java type or a complex Java - * type, is defined by the type of the Java class field or the type of the - * setter method input argument.
    - * The "@Property" annotation may be used on protected or public fields and - * on setter methods or on a constructor method.
    - *

    - * p1 - simple Java type injected via field
    - * p2 - simple Java type injected via field
    - * p3 - simple Java type injected via setter
    - * p4 - simple Java type injected via setter and required=true
    - * p5 - simple Java type injected via constructor parameter
    - * p6 - simple Java type injected via constructor parameter
    - * p7 - complex Java type injected via field and required=true
    - * p8 - complex Java type injected via field
    - * p9 - complex Java type injected via setter
    - * p10 - complex Java type injected via setter
    - * p11 - complex Java type injected via constructor parameter
    - * p12 - complex Java type injected via constructor parameter
    - */ - @Test - public void atProperty1() throws Exception { - Assert.assertEquals("p1", aService.getP1()); - Assert.assertEquals("p2", aService.getP2()); - Assert.assertEquals("p3", aService.getP3()); - Assert.assertEquals("p4", aService.getP4()); - Assert.assertEquals("p5", aService.getP5()); - Assert.assertEquals("p6", aService.getP6()); - Assert.assertEquals("p7.aString", aService.getP7AString()); - Assert.assertEquals(7, aService.getP7BInt()); - Assert.assertEquals("p8.aString", aService.getP8AString()); - Assert.assertEquals(8, aService.getP8BInt()); - Assert.assertEquals("p9.aString", aService.getP9AString()); - Assert.assertEquals(9, aService.getP9BInt()); - Assert.assertEquals("p10.aString", aService.getP10AString()); - Assert.assertEquals(10, aService.getP10BInt()); - Assert.assertEquals("p11.aString", aService.getP11AString()); - Assert.assertEquals(11, aService.getP11BInt()); - Assert.assertEquals("p12.aString", aService.getP12AString()); - Assert.assertEquals(12, aService.getP12BInt()); - } - - /** - * Lines 1349 to 1352:
    - * Properties may also be injected via public setter methods even when the - * "@Property" annotation is not present. However, the - * - * @Property annotation must be used in order to inject a property onto a - * non-public field. In the case where there is no "@Property" - * annotation, the name of the property is the same as the name of - * the field or setter.
    - *

    - * p13 is an un-annotated public field which should be injected - * via field
    - */ - @Test - public void atProperty2() throws Exception { - Assert.assertEquals("p13", anotherAService.getP13()); - } - - /** - * Line 1353:
    - * Where there is both a setter method and a field for a property, the - * setter method is used.
    - *

    - * p14 is an un-annotated public field, it should be injected via public - * setter
    - */ - @Test - public void atProperty3() throws Exception { - Assert.assertEquals("p14", anotherAService.getP14()); - Assert.assertTrue(anotherAService.getP14SetterIsCalled()); - } - - /** - * Lines 1355 to 1357:
    - * The "@Property" annotation has the following attributes:
    - *

  • name (optional) – the name of the property, defaults to the name of - * the field of the Java class
  • - *
  • required (optional) – specifies whether injection is required, - * defaults to false
  • - *

    - * p15 - injected via field with different name "pFifteen"
    - * p16 - injected via setter with different name "pSixteen"
    - * p17 - injected via field but not defined in composite
    - * p18 - injected via setter but not defined in composite
    - * - * @TODO - Need to test required=true but not defined in composite (The - * specification does not describe the proper behaviour in this - * situation.) - */ - @Test - public void atProperty4() throws Exception { - Assert.assertEquals("p15", aService.getP15()); - Assert.assertEquals("p16", aService.getP16()); - Assert.assertNull(aService.getP17()); - Assert.assertNull(aService.getP18()); - } - - /** - * Lines 1369 to 1370:
    - * If the property is defined as an array or as a java.util.Collection, then - * the implied component type has a property with a many attribute set to - * true.
    - *

    - * p19 - a List and injected via field with no element
    - * p20 - a List and injected via setter
    - * p21 - an array and injected via field
    - */ - @Test - public void atProperty5() throws Exception { - Assert.assertEquals(0, aService.getP19Size()); - Assert.assertEquals(1, aService.getP20Size()); - Assert.assertEquals("p20", aService.getP20(0)); - Assert.assertEquals(3, aService.getP21Size()); - Assert.assertEquals(2, aService.getP21(0)); - Assert.assertEquals(1, aService.getP21(1)); - Assert.assertEquals(21, aService.getP21(2)); - } - - /** - * Lines 1141 to 1162:
    - * 1.8.5. "@Constructor"
    - * ...
    - * The "@Constructor" annotation is used to mark a particular constructor to - * use when instantiating a Java component implementation.
    - * The "@Constructor" annotation has the following attribute:
    - *

  • value (optional) – identifies the property/reference names that - * correspond to each of the constructor arguments. The position in the - * array determines which of the arguments are being named.
  • - *

    - * cService1 - "@Constructor" without value and constructor arguments
    - * cService2 - "@Constructor" without value but with constructor arguments
    - * cService3 - "@Constructor" with values and constructor arguments
    - * cService4 - "@Constructor" with values and constructor arguments where - * value, property and parameter names are same
    - * cService5 - "@Constructor" with switched values and constructor arguments
    - * cService6 - "@Constructor" with wrong values
    - */ - @Test - public void atProperty6() throws Exception { - Assert.assertNull(cService1.getB1Name()); - Assert.assertNull(cService1.getP2()); - Assert.assertEquals(0, cService1.getP3()); - Assert.assertNull(cService1.getP4()); - Assert.assertEquals("NoArgument", cService1.getConstructor()); - - Assert.assertEquals("BService", cService2.getB1Name()); - Assert.assertEquals("p2", cService2.getP2()); - Assert.assertEquals(3, cService2.getP3()); - Assert.assertEquals("p4", cService2.getP4()); - Assert.assertEquals("AllArguments", cService2.getConstructor()); - - Assert.assertEquals("BService", cService3.getB1Name()); - Assert.assertEquals("p2", cService3.getP2()); - Assert.assertEquals(3, cService3.getP3()); - Assert.assertEquals("p4", cService3.getP4()); - Assert.assertEquals("AllArguments", cService3.getConstructor()); - - Assert.assertEquals("BService", cService4.getB1Name()); - Assert.assertEquals("p2", cService4.getP2()); - Assert.assertEquals(3, cService4.getP3()); - Assert.assertEquals("p4", cService4.getP4()); - Assert.assertEquals("AllArguments", cService4.getConstructor()); - - Assert.assertEquals("BService", cService5.getB1Name()); - Assert.assertEquals("p4", cService5.getP2()); - Assert.assertEquals(3, cService5.getP3()); - Assert.assertEquals("p2", cService5.getP4()); - Assert.assertEquals("SwitchedValues", cService5.getConstructor()); - - try { - System.out.println(cService6.getB1Name()); - fail("Should have failed to call this service"); - } catch (Throwable t) { - } - - } - - /** - * Lines 1349 to 1352:
    - * 1.8.13. "@Property"
    - * ...
    - * Properties may also be injected via public setter methods even when the - * "@Property" annotation is not present. However, the "@Property" - * annotation must be used in order to inject a property onto a non-public - * field. In the case where there is no "@Property" annotation, the name of - * the property is the same as the name of the field or setter. - *

    - * p22 is unannotated protected field which should not be injected p23 is - * un-annotated protected which should not be injected via protected setter
    - */ - @Test - @Ignore("JIRA-2289 - p23 failed") - public void atProperty7() throws Exception { - Assert.assertNull(anotherAService.getP22()); - Assert.assertNull(anotherAService.getP23()); - Assert.assertFalse(anotherAService.getP23SetterIsCalled()); - } - - /** - * Lines 1349 to 1352:
    - * 1.8.13. "@Property"
    - * ...
    - * Properties may also be injected via public setter methods even when the - * "@Property" annotation is not present. However, the "@Property" - * annotation must be used in order to inject a property onto a non-public - * field. In the case where there is no "@Property" annotation, the name of - * the property is the same as the name of the field or setter. - *

    - * p24 is un-annotated protected field which should be injected via public - * setter
    - * p25 is un-annotated private field which should be injected via public - * setter
    - */ - @Test - public void atProperty8() throws Exception { - Assert.assertEquals("p24", anotherAService.getP24()); - Assert.assertTrue(anotherAService.getP24SetterIsCalled()); - Assert.assertEquals("p25", anotherAService.getP25()); - Assert.assertTrue(anotherAService.getP25SetterIsCalled()); - } - -} diff --git a/java/sca/vtest/java-api/annotations/reference/pom.xml b/java/sca/vtest/java-api/annotations/reference/pom.xml deleted file mode 100644 index 5e88742f3e..0000000000 --- a/java/sca/vtest/java-api/annotations/reference/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-reference - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Reference - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java deleted file mode 100644 index b28704a3b4..0000000000 --- a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/AService.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.reference; - - -/** - * Simple Service that uses another Service - */ -public interface AService { - - public String getName(); - public String getB1Name(); - public String getB2Name(); - public String getB3Name(); - public String getB4Name(); - public String getB5Name(); - public String getB6Name(); - public String getB7Name(); - public String getB8Name(); - public String getB9Name(); - public String getB10Name(); - public String getB11Name(); - public String getB12Name(); - public String getB13Name(int i); - public String getB14Name(int i); - public String getB15Name(int i); - - public int getB13Size(); - public int getB14Size(); - public int getB15Size(); - - public boolean isB7SetterCalled(); - public boolean isB16Null(); - public boolean isB17Null(); - - public boolean isB4Null(); - public boolean isB5Null(); - public boolean isB6Null(); -} diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/BService.java b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/BService.java deleted file mode 100644 index 04c0bc377e..0000000000 --- a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/BService.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.reference; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - String getName(); - -} diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java deleted file mode 100644 index 60e2b2408c..0000000000 --- a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AServiceImpl.java +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl; - -import java.util.List; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.BService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - protected BService b1; // field injection - - protected BService b2; // injected via constructor parameter - - protected BService b3; // setter injection - - public BService b4; // field injection (public, un-annotated) - - protected BService b5; // field injection (non-public, un-annotated) - - public BService b6; // setter injection (public, un-annotated) - - @Reference - protected BService b7; // setter injection (field and setter annotated) - - @Reference(name="b8", required=false) - protected BService bEight; // field injection (different reference and field name) - - protected BService bNine; // setter injection (different reference and field name) - - @Reference(required=false) - protected BService b10; // multiplicity="0..1" and required=false - - @Reference(required=false) - protected BService b11; // multiplicity="1..1" and required=false - - protected BService b12; // multiplicity="1..1" and required=true at setter - - @Reference(required=false) - protected List b13; // multiplicity="0..n" and required=false - - protected List b14; // multiplicity="1..n" and required=false at setter - - @Reference(name="b15", required=true) - protected BService[] b15s; // multiplicity="1..n" and required=true - - @Reference(required=false) - protected BService b16; - - @Reference(required=false) - public BService b17; - - protected boolean b7SetterCalled; - - public AServiceImpl(@Reference(name = "b2") - BService b2) { - super(); - this.b2 = b2; - b7SetterCalled = false; - } - - @Reference - public void setB3(BService b3) { - this.b3 = b3; - } - - public void setB6(BService b6) { - this.b6 = b6; - } - - @Reference - public void setB7(BService b7) { - b7SetterCalled = true; - this.b7 = b7; - } - - @Reference(name="b9", required=false) - public void setB9(BService bNine) { - this.bNine = bNine; - } - - @Reference(required=true) - public void setB12(BService b12) { - this.b12 = b12; - } - - @Reference(required=true) - public void setB14(List b14) { - this.b14 = b14; - } - - public String getName() { - return "AService"; - } - - public String getB1Name() { - return b1.getName(); - } - - public String getB2Name() { - return b2.getName(); - } - - public String getB3Name() { - return b3.getName(); - } - - public String getB4Name() { - return b4.getName(); - } - - public String getB5Name() { - return b5.getName(); - } - - public String getB6Name() { - return b6.getName(); - } - - public String getB7Name() { - return b7.getName(); - } - - public String getB8Name() { - return bEight.getName(); - } - - public String getB9Name() { - return bNine.getName(); - } - - public String getB10Name() { - return b10.getName(); - } - - public String getB11Name() { - return b11.getName(); - } - - public String getB12Name() { - return b12.getName(); - } - - public String getB13Name(int i) { - BService b = (BService) b13.get(i); - return b.getName(); - } - - public String getB14Name(int i) { - BService b = (BService) b14.get(i); - return b.getName(); - } - - public String getB15Name(int i) { - return b15s[i].getName(); - } - - public int getB13Size() { - return b13.size(); - } - - public int getB14Size() { - return b14.size(); - } - - public int getB15Size() { - return b15s.length; - } - - public boolean isB7SetterCalled() { - return b7SetterCalled; - } - - public boolean isB16Null() { - return b16 == null; - } - - public boolean isB17Null() { - return b17 == null; - } - - public boolean isB4Null() { - return b4 == null; - } - - public boolean isB5Null() { - return b5 == null; - } - - public boolean isB6Null() { - return b6 == null; - } -} diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java deleted file mode 100644 index 20fccf807f..0000000000 --- a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/AUnannotatedServiceImpl.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AUnannotatedServiceImpl implements AService { - - public BService b4; // field injection (public, un-annotated) - - protected BService b5; // field injection (non-public, un-annotated) - - public BService b6; // setter injection (public, un-annotated) - - public AUnannotatedServiceImpl() { - } - - public String getName() { - return "AService"; - } - - public String getB4Name() { - return b4.getName(); - } - - public String getB5Name() { - return b5.getName(); - } - - public void setB6(BService b6) { - this.b6 = b6; - } - - public String getB6Name() { - return b6.getName(); - } - - public String getB1Name() { - return null; - } - - public String getB2Name() { - return null; - } - - public String getB3Name() { - return null; - } - - public String getB7Name() { - return null; - } - - public String getB8Name() { - return null; - } - - public String getB9Name() { - return null; - } - - public boolean isB7SetterCalled() { - return false; - } - - public String getB10Name() { - return null; - } - - public String getB11Name() { - return null; - } - - public String getB12Name() { - return null; - } - - public String getB13Name(int i) { - return null; - } - - public int getB13Size() { - return 0; - } - - public String getB14Name(int i) { - return null; - } - - public int getB14Size() { - return 0; - } - - public String getB15Name(int i) { - return null; - } - - public int getB15Size() { - return 0; - } - - public boolean isB16Null() { - return true; - } - - public boolean isB17Null() { - return true; - } - - public boolean isB4Null() { - return b4 == null; - } - - public boolean isB5Null() { - return b5 == null; - } - - public boolean isB6Null() { - return b6 == null; - } -} diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/BServiceImpl.java b/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/BServiceImpl.java deleted file mode 100644 index c7fc91e65f..0000000000 --- a/java/sca/vtest/java-api/annotations/reference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/impl/BServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.reference.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - -} diff --git a/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite b/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite deleted file mode 100644 index b4ad1e77d5..0000000000 --- a/java/sca/vtest/java-api/annotations/reference/src/main/resources/ab.composite +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java b/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java deleted file mode 100644 index 1fe50b4ea7..0000000000 --- a/java/sca/vtest/java-api/annotations/reference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/reference/ReferenceAnnotationTestCase.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.reference; - -import static org.junit.Assert.fail; -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * This test class tests the "@Reference" annotation described in section 1.8.14 - */ -public class ReferenceAnnotationTestCase { - - protected static String compositeName = "ab.composite"; - protected static AService a; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a = ServiceFinder.getService(AService.class, "AComponent"); - - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Temporary test unrelated to spec test effort. Remove after resolution of - */ - @Test - @Ignore - // JIRA T-2145 - public void bogusComponentName() throws Exception { - ServiceFinder.init(compositeName); - try { - AService a = ServiceFinder.getService(AService.class, "AReallyBogusComponentName"); - if (a == null) - fail("Should have thrown an exception rather than return null"); - else - fail("Should have thrown an exception rather than return a proxy"); - } finally { - ServiceFinder.cleanup(); - } - - } - - /** - * Lines 1404, 1405, 1406
    - * The "@Reference" annotation type is used to annotate a Java class field - * or a setter method that is used to inject a service that resolves the - * reference. The interface of the service injected is defined by the type - * of the Java class field or the type of the setter method input argument. - *

    - * This tests the use of the three usages of the "@Reference" annotation
    - * B1 is injected via field injection
    - * B2 is injected via constructor parameter
    - * B3 is injected via setter method - */ - @Test - public void atReference1() throws Exception { - - Assert.assertEquals("BService", a.getB1Name()); - Assert.assertEquals("BService", a.getB2Name()); - Assert.assertEquals("BService", a.getB3Name()); - - } - - /** - * Lines 1407, 1408, 1409, 1410
    - * References may also be injected via public setter methods even when the - * "@Reference" annotation is not present. However, the "@Reference" - * annotation must be used in order to inject a reference onto a non public - * field. In the case where there is no "@Reference" annotation, the name of - * the reference is the same as the name of the field or setter. - *

    - * B4 is injected via field injection. Public, Non-annotated
    - * B5 is expected to fail field injection. Non-Public, Non-Annotated
    - * B6 is injected via setter injection. Public, Non-Annotated - */ - @Test - public void atReference2() throws Exception { - AService anotherA = ServiceFinder.getService(AService.class, "AUnannotatedComponent"); - - Assert.assertFalse(anotherA.isB4Null()); - Assert.assertTrue(anotherA.isB5Null()); - Assert.assertFalse(anotherA.isB6Null()); - - Assert.assertEquals("BService", anotherA.getB4Name()); - try { - anotherA.getB5Name(); - fail("getB5Name expected to fail with NPE"); - } catch (NullPointerException e) { - } - Assert.assertEquals("BService", anotherA.getB6Name()); - - } - - /** - * Lines 1411
    - * Where there is both a setter method and a field for a reference, the - * setter method is used. - *

    - * B7 has both field and setter annotated. The setter must be called - */ - @Test - public void atReference3() throws Exception { - Assert.assertTrue(a.isB7SetterCalled()); - } - - /** - * Lines 1413, 1414, 1415
    - * The "@Reference" annotation has the following attributes:
    • name - * (optional) – the name of the reference, defaults to the name of the field - * of the Java class
    - * required (optional) – whether injection of service or services is - * required. Defaults to true. - *

    - * Reference and field have different names
    - * B8 is field injected
    - * B9 is setter injected - */ - @Test - public void atReference4() throws Exception { - Assert.assertEquals("BService", a.getB8Name()); - Assert.assertEquals("BService", a.getB9Name()); - } - - /** - * Lines 1457 to 1459
    - * If the reference is not an array or collection, then the implied - * component type has a reference with a multiplicity of either 0..1 or 1..1 - * depending on the value of the - * - * @Reference required attribute – 1..1 applies if required=true.
    - *

    - * B10 is field injected, required=false, and multiplicity="0..1"
    - * B11 is field injected, required=false, and multiplicity="1..1"
    - * B12 is setter injected, required=true, and multiplicity="1..1" - */ - @Test - public void atReference5() throws Exception { - Assert.assertEquals("BService", a.getB10Name()); - Assert.assertEquals("BService", a.getB11Name()); - Assert.assertEquals("BService", a.getB12Name()); - } - - /** - * Lines 1461 to 1463
    - * If the reference is defined as an array or as a java.util.Collection, - * then the implied component type has a reference with a multiplicity of - * either 1..n or 0..n, depending on whether the required attribute of the - * "@Reference" annotation is set to true or false – 1..n applies if - * required=true.
    - *

    - * B13 is a java.util.List, field injected, required=false, - * multiplicity="0..n", and no target
    - * B14 is a java.util.List, setter injected, required=true, - * multiplicity="1..n", and one target
    - * B15 is an array, field injected, required=true, multiplicity="1..n", and - * two targets - */ - @Test - public void atReference6() throws Exception { - Assert.assertEquals(0, a.getB13Size()); - Assert.assertEquals("BService", a.getB14Name(0)); - Assert.assertEquals(1, a.getB14Size()); - Assert.assertEquals("BService", a.getB15Name(0)); - Assert.assertEquals("BService", a.getB15Name(1)); - Assert.assertEquals(2, a.getB15Size()); - } - - /** - * Lines 1415
    - * required (optional) - whether injection of service or services is - * required. Defaults to true. - *

    - * b16 and b17 is defined as "@Reference(required=false)" and AComponent - * does not define reference for them - */ - @Test - public void atReference7() throws Exception { - Assert.assertTrue(a.isB16Null()); - Assert.assertTrue(a.isB17Null()); - } - - /** - * Java Component Implementation Spec - * Section 1.2.7 - * Line 361 when @Property and @Reference annotations are present - * then unannotated fields are ignored - */ - @Test - public void atReference8() throws Exception { - Assert.assertTrue(a.isB4Null()); - Assert.assertTrue(a.isB5Null()); - Assert.assertTrue(a.isB6Null()); - } -} diff --git a/java/sca/vtest/java-api/annotations/scope/pom.xml b/java/sca/vtest/java-api/annotations/scope/pom.xml deleted file mode 100644 index 8a905a7ebc..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-scope - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Scope - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/AService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/AService.java deleted file mode 100644 index b7cf3fba71..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/AService.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - - -/** - * Simple Service - */ -public interface AService { - - public String getName(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/BService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/BService.java deleted file mode 100644 index 7da9d29424..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/BService.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -/** - * Simple Service - */ -public interface BService { - - public String getName(); - - public boolean isInitReady(); - - public String getCurrentState(); - - public String setCurrentState(String currentState); - - public int getDestroyCalledCounter(); - - public int getInitCalledCounter(); - - public int getInstanceCounter(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/CService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/CService.java deleted file mode 100644 index 208c6a78b0..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/CService.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -/** - * Simple Service - */ -public interface CService { - - public String getName(); - - public boolean isInitReady(); - - public String getCurrentState(); - - public String setCurrentState(String currentState); - - public int getDestroyCalledCounter(); - - public int getInitCalledCounter(); - - public int getInstanceCounter(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/DService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/DService.java deleted file mode 100644 index f9b87ad251..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/DService.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface DService { - - public String getName(); - - public boolean isInitReady(); - - public String getCurrentState(); - - public String setCurrentState(String currentState); - - public int getDestroyCalledCounter(); - - public int getInitCalledCounter(); - - public int getInstanceCounter(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/FService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/FService.java deleted file mode 100644 index 0e4ed9c18d..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/FService.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface FService { - - public String getName(); - - public boolean isInitReady(); - - public String getCurrentState(); - - public String setCurrentState(String currentState); - - public int getDestroyCalledCounter(); - - public int getInitCalledCounter(); - - public int getInstanceCounter(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/GService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/GService.java deleted file mode 100644 index 566dc93e6d..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/GService.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface GService { - - public String getName(); - - public int getInitCalledCounter(); - - public int getDestroyCalledCounter(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/HService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/HService.java deleted file mode 100644 index 714b3ce8f4..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/HService.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - - -/** - * Simple Service - */ -@Remotable -public interface HService { - - public String getName(); - - public String test(); - - public String testCounters(int n); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/IService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/IService.java deleted file mode 100644 index 88cf95b593..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/IService.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.EndsConversation; - -/** - * Simple Service - */ -@Conversational -public interface IService { - - public String getName(); - - public boolean isInitReady(); - - public String getCurrentState(); - - public String getConversationId(); - - public String setCurrentState(String currentState); - - public int getDestroyCalledCounter(); - - public int getInitCalledCounter(); - - public int getInstanceCounter(); - - @EndsConversation - public void endConversation(); -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/JService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/JService.java deleted file mode 100644 index ea974100ab..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/JService.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface JService { - - public String getName(); - - public String getFailedReason(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/KService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/KService.java deleted file mode 100644 index 454009da12..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/KService.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface KService { - - public String getName(); - - public String callL1(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/LService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/LService.java deleted file mode 100644 index 2910b1c81c..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/LService.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface LService { - - public String getName(); - - public String getCurrentState(); - - public String setCurrentState(String currentState); - - public int getDestroyCalledCounter(); - - public int getInitCalledCounter(); - - public int getInstanceCounter(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/MService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/MService.java deleted file mode 100644 index 81d0692d7a..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/MService.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface MService { - - public String getName(); - - public String getFailedReason(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/NService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/NService.java deleted file mode 100644 index 3493a88206..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/NService.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface NService { - - public String getName(); - - public String callO1(int nthTime); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/OService.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/OService.java deleted file mode 100644 index 982568b236..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/OService.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface OService { - - public String getName(); - - public String getCurrentState(); - - public String setCurrentState(String currentState); - - public int getDestroyCalledCounter(); - - public int getInitCalledCounter(); - - public int getInstanceCounter(); - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/AServiceImpl.java deleted file mode 100644 index f7a57941dc..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/AServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AServiceImpl implements AService { - - public String getName() { - return "AService"; - } - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/BServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/BServiceImpl.java deleted file mode 100644 index 29d6284c43..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/BServiceImpl.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.BService; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Destroy; - -@Service(BService.class) -public class BServiceImpl implements BService { - - private static int instanceCounter = 0; - - private static int initCalledCounter = 0; - - private static int destroyCalledCounter = 0; - - public AService a1; - - public String p1; - - private int currentInstanceId = 0; - - public String currentState = null; - - private boolean isInitReady = false; - - public BServiceImpl() { - currentInstanceId = ++instanceCounter; - isInitReady = false; - } - - @Reference - public void setA1(AService a1) { - this.a1 = a1; - } - - @Property - public void setP1(String p1) { - this.p1 = p1; - } - - @Init - public void initBService() throws Exception { - initCalledCounter++; - if (p1.equals("p1") && a1.getName().equals("AService")) - isInitReady = true; - } - - @Destroy - public void destroyBService() { - destroyCalledCounter++; - } - - public String getName() { - return "BService" + currentInstanceId; - } - - public AService getA1() { - return a1; - } - - public String getP1() { - return p1; - } - - public String getCurrentState() { - return currentState; - } - - public String setCurrentState(String currentState) { - this.currentState = currentState; - return this.currentState; - } - - public boolean isInitReady() { - return isInitReady; - } - - public int getDestroyCalledCounter() { - return destroyCalledCounter; - } - - public int getInitCalledCounter() { - return initCalledCounter; - } - - public int getInstanceCounter() { - return instanceCounter; - } -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/CServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/CServiceImpl.java deleted file mode 100644 index 037d900176..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/CServiceImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.CService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(CService.class) -@Scope("STATELESS") -public class CServiceImpl implements CService { - - public static int instanceCounter = 0; - - public static int initCalledCounter = 0; - - public static int destroyCalledCounter = 0; - - public AService a1; - - public String p1; - - public int currentInstanceId = 0; - - public String currentState = null; - - public boolean isInitReady = false; - - public CServiceImpl() { - currentInstanceId = ++instanceCounter; - isInitReady = false; - } - - @Reference - public void setA1(AService a1) { - this.a1 = a1; - } - - @Property - public void setP1(String p1) { - this.p1 = p1; - } - - @Init - public void initCService() throws Exception { - initCalledCounter++; - if (p1.equals("p1") && a1.getName().equals("AService")) - isInitReady = true; - } - - @Destroy - public void destroyCService() { - destroyCalledCounter++; - } - - public String getName() { - return "CService" + currentInstanceId; - } - - public AService getA1() { - return a1; - } - - public String getP1() { - return p1; - } - - public String getCurrentState() { - return currentState; - } - - public String setCurrentState(String currentState) { - this.currentState = currentState; - return this.currentState; - } - - public boolean isInitReady() { - return isInitReady; - } - - public int getDestroyCalledCounter() { - return destroyCalledCounter; - } - - public int getInitCalledCounter() { - return initCalledCounter; - } - - public int getInstanceCounter() { - return instanceCounter; - } -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/DServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/DServiceImpl.java deleted file mode 100644 index d5f1326086..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/DServiceImpl.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.DService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(DService.class) -@Scope("REQUEST") -public class DServiceImpl implements DService { - - public static int instanceCounter = 0; - - public static int initCalledCounter = 0; - - public static int destroyCalledCounter = 0; - - public AService a1; - - public String p1; - - public int currentInstanceId = 0; - - public String currentState = null; - - public boolean isInitReady = false; - - public DServiceImpl() { - currentInstanceId = ++instanceCounter; - isInitReady = false; - } - - @Reference - public void setA1(AService a1) { - this.a1 = a1; - } - - @Property - public void setP1(String p1) { - this.p1 = p1; - } - - @Init - public void initDService() throws Exception { - initCalledCounter++; - if (p1.equals("p1") && a1.getName().equals("AService")) - isInitReady = true; - System.out.println("DService" + currentInstanceId + "->initDService"); - } - - @Destroy - public void destroyDService() { - destroyCalledCounter++; - System.out.println("DService" + currentInstanceId + "->destroyDService"); - } - - public String getName() { - return "DService" + currentInstanceId; - } - - public AService getA1() { - return a1; - } - - public String getP1() { - return p1; - } - - public String getCurrentState() { - return currentState; - } - - public String setCurrentState(String currentState) { - this.currentState = "DService" + currentInstanceId + "-" + currentState; - return this.currentState; - } - - public boolean isInitReady() { - return isInitReady; - } - - public int getDestroyCalledCounter() { - return destroyCalledCounter; - } - - public int getInitCalledCounter() { - return initCalledCounter; - } - - public int getInstanceCounter() { - return instanceCounter; - } -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/FServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/FServiceImpl.java deleted file mode 100644 index e2bfa3c45a..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/FServiceImpl.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.FService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(FService.class) -@Scope("COMPOSITE") -public class FServiceImpl implements FService { - - public static int instanceCounter = 0; - - public static int initCalledCounter = 0; - - public static int destroyCalledCounter = 0; - - public AService a1; - - public String p1; - - public int currentInstanceId = 0; - - public String currentState = null; - - public boolean isInitReady = false; - - public FServiceImpl() { - currentInstanceId = ++instanceCounter; - isInitReady = false; - } - - @Reference - public void setA1(AService a1) { - this.a1 = a1; - } - - @Property - public void setP1(String p1) { - this.p1 = p1; - } - - @Init - public void initFService() throws Exception { - initCalledCounter++; - if (p1.equals("p1") && a1.getName().equals("AService")) - isInitReady = true; - System.out.println("FService" + currentInstanceId + "->initFService"); - } - - @Destroy - public void destroyFService() { - destroyCalledCounter++; - System.out.println("FService" + currentInstanceId + "->destroyFService"); - } - - public String getName() { - return "FService" + currentInstanceId; - } - - public AService getA1() { - return a1; - } - - public String getP1() { - return p1; - } - - public String getCurrentState() { - return currentState; - } - - public String setCurrentState(String currentState) { - this.currentState = "FService" + currentInstanceId + "-" + currentState; - return this.currentState; - } - - public boolean isInitReady() { - return isInitReady; - } - - public int getDestroyCalledCounter() { - return destroyCalledCounter; - } - - public int getInitCalledCounter() { - return initCalledCounter; - } - - public int getInstanceCounter() { - return instanceCounter; - } -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/GServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/GServiceImpl.java deleted file mode 100644 index 28b8bd84b9..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/GServiceImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.GService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.EagerInit; - -@Scope("COMPOSITE") -@EagerInit -public class GServiceImpl implements GService { - - public static int initCalledCounter = 0; - - public static int destroyCalledCounter = 0; - - public AService a1; - - public String p1; - - @Init - public void initGService() throws Exception { - initCalledCounter++; - System.out.println("GService->initGService"); - } - - @Destroy - public void destroyGService() { - destroyCalledCounter++; - System.out.println("GService->destroyGService"); - } - - @Reference - public void setA1(AService a1) { - this.a1 = a1; - } - - @Property - public void setP1(String p1) { - this.p1 = p1; - } - - public String getName() { - return "GService"; - } - - public int getInitCalledCounter() { - return initCalledCounter; - } - - public int getDestroyCalledCounter() { - return destroyCalledCounter; - } -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/HServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/HServiceImpl.java deleted file mode 100644 index 404f329201..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/HServiceImpl.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.IService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.HService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(HService.class) -public class HServiceImpl implements HService { - - @Reference - public IService i1; - - public String getName() { - return "HService"; - } - - public String test() { - - String serviceName = i1.getName(); - String conversationIdBefore = i1.getConversationId(); - - for (int i = 0; i < 10; i++) { - String newState = "state-" + i; - i1.setCurrentState(newState); - String currentState = i1.getCurrentState(); - if (currentState == null || !currentState.equals(serviceName + "-" + newState)) { - i1.endConversation(); - return "CurrentStateLost - " + currentState; - } - } - - boolean isInitReady = i1.isInitReady(); - - String conversationIdAfter = i1.getConversationId(); - - i1.endConversation(); - - if (!isInitReady) - return "InitNotReady"; - - if (!conversationIdBefore.equals(conversationIdAfter)) - return "DifferentConversationId"; - - return "None"; - } - - public String testCounters(int n) { - int instanceCounter = i1.getInstanceCounter(); - int initCalledCounter = i1.getInitCalledCounter(); - int destroyCalledCounter = i1.getDestroyCalledCounter(); - - System.out.println("instanceCounter=" + instanceCounter); - System.out.println("initCalledCounter=" + initCalledCounter); - System.out.println("destroyCalledCounter=" + destroyCalledCounter); - - if (instanceCounter != n + 1) - return "IncorrectInstanceCounter"; - if (initCalledCounter != n + 1) - return "IncorrectInitCalledCounter"; - if (destroyCalledCounter != n) - return "IncorrectDestroyCalledCounter"; - - return "None"; - } - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/IServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/IServiceImpl.java deleted file mode 100644 index 66d14c2e96..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/IServiceImpl.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.IService; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(IService.class) -@Scope("CONVERSATION") -public class IServiceImpl implements IService { - - public static int instanceCounter = 0; - - public static int initCalledCounter = 0; - - public static int destroyCalledCounter = 0; - - @ConversationID - protected String conversationId; - - public int currentInstanceId = 0; - - public AService a1; - - public String p1; - - public String currentState = null; - - public boolean isInitReady = false; - - public IServiceImpl() { - synchronized (IServiceImpl.class) { - currentInstanceId = ++instanceCounter; - } - isInitReady = false; - } - - @Reference - public void setA1(AService a1) { - this.a1 = a1; - } - - @Property - public void setP1(String p1) { - this.p1 = p1; - } - - @Init - public void initIService() throws Exception { - initCalledCounter++; - if (p1.equals("p1") && a1.getName().equals("AService")) - isInitReady = true; - System.out.println("IService" + currentInstanceId + "->initIService"); - } - - @Destroy - public void destroyIService() { - destroyCalledCounter++; - System.out.println("IService" + currentInstanceId + "->destroyIService"); - } - - public void endConversation() { - System.out.println("IService" + currentInstanceId + "->endConversation"); - } - - public String getName() { - return "IService" + currentInstanceId; - } - - public AService getA1() { - return a1; - } - - public String getP1() { - return p1; - } - - public String getCurrentState() { - return currentState; - } - - public String getConversationId() { - return conversationId; - } - - public String setCurrentState(String currentState) { - this.currentState = "IService" + currentInstanceId + "-" + currentState; - return this.currentState; - } - - public boolean isInitReady() { - return isInitReady; - } - - public int getDestroyCalledCounter() { - return destroyCalledCounter; - } - - public int getInitCalledCounter() { - return initCalledCounter; - } - - public int getInstanceCounter() { - return instanceCounter; - } - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/JServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/JServiceImpl.java deleted file mode 100644 index 80546f677c..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/JServiceImpl.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.KService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.JService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(JService.class) -@Scope("COMPOSITE") -public class JServiceImpl implements JService { - - @Reference - public KService k1; - - public static String failedReason = ""; - - public static Timer aTimer = null; - - @Init - public void initJService() throws Exception { - aTimer = new Timer(); - aTimer.schedule(new JTimerTask(), 1000); - System.out.println("JService->initJService"); - } - - @Destroy - public void destroyJService() { - aTimer.cancel(); - System.out.println("JService->destroyJService"); - } - - public String getName() { - return "JService"; - } - - public String getFailedReason() { - return failedReason; - } - - private class JTimerTask extends TimerTask { - - public boolean cancel() { - return true; - } - - public void run() { - String result = k1.callL1(); - if (!result.equals("None")) - failedReason = failedReason + ";" + result; - } - - } -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/KServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/KServiceImpl.java deleted file mode 100644 index 022a9d11f6..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/KServiceImpl.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.KService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.LService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(KService.class) -@Scope("STATELESS") -public class KServiceImpl implements KService { - - public static int instanceCounter = 0; - - public String previousL1Name = null; - - public int currentInstanceId = 0; - - @Reference - public LService l1; - - public KServiceImpl() { - currentInstanceId = ++instanceCounter; - } - - - public String getName() { - return "KService"+currentInstanceId; - } - - public String callL1() { - - for (int i = 1; i < 11; i++) { - System.out.println(getName() + " calls LService " + i + (i == 1 ? "st time:" : (i == 2 ? "nd time:" : (i == 3 ? "rd time:" : "th time")))); - - String serviceName = l1.getName(); - for (int j = 0; j < 10; j++) { - String newState = "state-" + j; - l1.setCurrentState(newState); - String currentState = l1.getCurrentState(); - if (!currentState.equals(serviceName + "-" + newState)) { - return "CurrentStateLost - " + currentState; - } - } - - System.out.print(" Name=" + serviceName); - System.out.print(", #Instance=" + l1.getInstanceCounter()); - System.out.print(", #InitCalled=" + l1.getInitCalledCounter()); - System.out.println(", #DestroyCalled=" + l1.getDestroyCalledCounter()); - - if (previousL1Name == null) { - previousL1Name = serviceName; - } else { - if (!previousL1Name.equals(serviceName)) - return "DifferentLServiceInstance"; - } - } - return "None"; - } - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/LServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/LServiceImpl.java deleted file mode 100644 index 196cd6f39a..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/LServiceImpl.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.LService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(LService.class) -@Scope("REQUEST") -public class LServiceImpl implements LService { - - public static int instanceCounter = 0; - - public static int initCalledCounter = 0; - - public static int destroyCalledCounter = 0; - - public int currentInstanceId = 0; - - public String currentState = null; - - public LServiceImpl() { - currentInstanceId = ++instanceCounter; - } - - @Init - public void initLService() throws Exception { - initCalledCounter++; - System.out.println("LService" + currentInstanceId + "->initLService"); - } - - @Destroy - public void destroyLService() { - destroyCalledCounter++; - System.out.println("LService" + currentInstanceId + "->destroyLService"); - } - - public String getName() { - return "LService" + currentInstanceId; - } - - public String getCurrentState() { - return currentState; - } - - public String setCurrentState(String currentState) { - this.currentState = "LService" + currentInstanceId + "-" + currentState; - return this.currentState; - } - - public int getDestroyCalledCounter() { - return destroyCalledCounter; - } - - public int getInitCalledCounter() { - return initCalledCounter; - } - - public int getInstanceCounter() { - return instanceCounter; - } - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/MServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/MServiceImpl.java deleted file mode 100644 index acc7d8ca9e..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/MServiceImpl.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.MService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.NService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(MService.class) -@Scope("COMPOSITE") -public class MServiceImpl implements MService { - - @Reference - public NService n1; - - public static String failedReason = ""; - - public static Timer aTimer = null; - - public static int counter = 0; - - @Init - public void initMService() throws Exception { - aTimer = new Timer(); - aTimer.schedule(new MTimerTask(), 1000, 1000); - System.out.println("MService->initMService"); - } - - @Destroy - public void destroyMService() { - aTimer.cancel(); - System.out.println("MService->destroyMService"); - } - - public String getName() { - return "MService"; - } - - public String getFailedReason() { - return failedReason; - } - - private class MTimerTask extends TimerTask { - - public boolean cancel() { - return true; - } - - public void run() { - counter++; - String result = n1.callO1(counter); - if (!result.equals("None")) - failedReason = failedReason + ";" + result; - } - - } -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/NServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/NServiceImpl.java deleted file mode 100644 index b9d799331f..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/NServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.NService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.OService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(NService.class) -@Scope("STATELESS") -public class NServiceImpl implements NService { - - public static int instanceCounter = 0; - - public String previousL1Name = null; - - public int currentInstanceId = 0; - - @Reference - public OService o1; - - public NServiceImpl() { - currentInstanceId = ++instanceCounter; - } - - - public String getName() { - return "NService"+currentInstanceId; - } - - public String callO1(int nthTime) { - - for (int i = 1; i < 11; i++) { - System.out.println(getName() + " calls OService " + i + (i == 1 ? "st time:" : (i == 2 ? "nd time:" : (i == 3 ? "rd time:" : "th time")))); - - String serviceName = o1.getName(); - for (int j = 0; j < 10; j++) { - String newState = "state-" + j; - o1.setCurrentState(newState); - String currentState = o1.getCurrentState(); - if (!currentState.equals(serviceName + "-" + newState)) { - return "CurrentStateLost - " + currentState; - } - } - - System.out.print(" Name=" + serviceName); - System.out.print(", #Instance=" + o1.getInstanceCounter()); - System.out.print(", #InitCalled=" + o1.getInitCalledCounter()); - System.out.println(", #DestroyCalled=" + o1.getDestroyCalledCounter()); - - if (previousL1Name == null) { - previousL1Name = serviceName; - } else { - if (!previousL1Name.equals(serviceName)) - return "DifferentOServiceInstance"; - } - - } - - if (o1.getInstanceCounter() < nthTime) { - return "SharedSameInstance"; - } - - return "None"; - } -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/OServiceImpl.java b/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/OServiceImpl.java deleted file mode 100644 index 60178ba2a3..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/impl/OServiceImpl.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.scope.OService; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Scope; - -@Service(OService.class) -@Scope("REQUEST") -public class OServiceImpl implements OService { - - public static int instanceCounter = 0; - - public static int initCalledCounter = 0; - - public static int destroyCalledCounter = 0; - - public int currentInstanceId = 0; - - public String currentState = null; - - public OServiceImpl() { - currentInstanceId = ++instanceCounter; - } - - @Init - public void initOService() throws Exception { - initCalledCounter++; - System.out.println("OService" + currentInstanceId + "->initOService"); - } - - @Destroy - public void destroyOService() { - destroyCalledCounter++; - System.out.println("OService" + currentInstanceId + "->destroyOService"); - } - - public String getName() { - return "OService" + currentInstanceId; - } - - public String getCurrentState() { - return currentState; - } - - public String setCurrentState(String currentState) { - this.currentState = "OService" + currentInstanceId + "-" + currentState; - return this.currentState; - } - - public int getDestroyCalledCounter() { - return destroyCalledCounter; - } - - public int getInitCalledCounter() { - return initCalledCounter; - } - - public int getInstanceCounter() { - return instanceCounter; - } - -} diff --git a/java/sca/vtest/java-api/annotations/scope/src/main/resources/scope.composite b/java/sca/vtest/java-api/annotations/scope/src/main/resources/scope.composite deleted file mode 100644 index 7c195b2b5d..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/main/resources/scope.composite +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - p1 - - - - - - p1 - - - - - - p1 - - - - - - p1 - - - - - - p1 - - - - - - - - - - - p1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/scope/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/ScopeAnnotationTestCase.java b/java/sca/vtest/java-api/annotations/scope/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/ScopeAnnotationTestCase.java deleted file mode 100644 index 6d65416ce8..0000000000 --- a/java/sca/vtest/java-api/annotations/scope/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/scope/ScopeAnnotationTestCase.java +++ /dev/null @@ -1,476 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.scope; - -import java.util.ArrayList; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * This test class tests the Scope annotation described in section 1.2.4 - * including 1.8.7, 1.8.8, 1.8.9, 1.8.10, 1.8.11, and 1.8.16
    - *

    - * Check following:
    - *

  • Number of service instances be created
  • - *
  • Init method be called and where all property and reference injection is - * complete.
  • - *
  • Destroy method be called
  • - *
  • State be preserved in request and conversation scopes but not others
  • - */ -public class ScopeAnnotationTestCase { - - protected static String compositeName = "scope.composite"; - - protected static int numDThread = 5; - protected static int numFThread = 5; - protected static int numHThread = 5; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Line 259:
    - *
  • STATELESS
  • - *

    - * Line 284:
    - * For stateless components, there is no implied correlation between - * service requests.
    - *

    - * Line 1589 to 1591:
    - * The default value is 'STATELESS'. For 'STATELESS' implementations, - * a different implementation instance may be used to service each request. - * Implementation instances may be newly created or be drawn from a pool - * of instances.
    - *

    - * BComponent is not defined '@Scope'
    - * CComponent is defined '@Scope("STATELESS")'
    - *

    - */ - @Test - public void atScope1() throws Exception { - System.out.println("atScope1"); - BThread b1 = new BThread("ThreadB1"); - BThread b2 = new BThread("ThreadB2"); - CThread c1 = new CThread("ThreadC1"); - CThread c2 = new CThread("ThreadC2"); - - b1.start(); - b2.start(); - c1.start(); - c2.start(); - b1.join(); - b2.join(); - c1.join(); - c2.join(); - - System.out.println(""); - - Assert.assertEquals("None", b1.failedReason); - Assert.assertEquals("None", b2.failedReason); - Assert.assertEquals("None", c1.failedReason); - Assert.assertEquals("None", c2.failedReason); - } - - /** - * Line 260:
    - *

  • REQUEST
  • - *

    - * Lines 286 to 289:
    - * The lifecycle of request scope extends from the point a request on a - * remotable interface enters the SCA runtime and a thread processes that - * request until the thread completes synchronously processing the request. - * During that time, all service requests will be delegated to the same - * implementation instance of a request-scoped component.
    - *

    - */ - @Test - public void atScope2() throws Exception { - System.out.println("atScope2"); - ArrayList d = new ArrayList(); - for (int i = 0; i < numDThread; i++) - d.add(new DThread("ThreadD"+i)); - for (int i = 0; i < numDThread; i++) - d.get(i).start(); - for (int i = 0; i < numDThread; i++) - d.get(i).join(); - System.out.println(""); - for (int i = 0; i < numDThread; i++) - Assert.assertEquals("None", d.get(i).failedReason); - } - - /** - * Line 262:
    - *

  • COMPOSITE
  • - *

    - * Lines 296 to 298:
    - * All service requests are dispatched to the same implementation instance - * for the lifetime of the containing composite. The lifetime of the - * containing composite is defined as the time it becomes active in the - * runtime to the time it is deactivated, either normally or abnormally.
    - *

    - * Following lines should be found at System out
    - * atScope3 - Cleaning up
    - * FService1->destroyFService - */ - @Test - public void atScope3() throws Exception { - System.out.println("atScope3"); - FService fService = ServiceFinder.getService(FService.class, "FComponent"); - String serviceName = fService.getName(); - boolean isInitReady = fService.isInitReady(); - - ArrayList f = new ArrayList(); - for (int i = 0; i < numFThread; i++) - f.add(new FThread("ThreadF"+i)); - for (int i = 0; i < numFThread; i++) - f.get(i).start(); - for (int i = 0; i < numFThread; i++) - f.get(i).join(); - for (int i = 0; i < numFThread; i++) { - Assert.assertEquals(serviceName, f.get(i).serviceName); - } - - int instanceCounter = fService.getInstanceCounter(); - int initCalledCounter = fService.getInitCalledCounter(); - int destroyCalledCounter = fService.getDestroyCalledCounter(); - System.out.println(""); - - Assert.assertTrue(isInitReady); - Assert.assertEquals(1, instanceCounter); - Assert.assertEquals(1, initCalledCounter); - Assert.assertEquals(0, destroyCalledCounter); - } - - /** - * Lines 299 to 302:
    - * A composite scoped implementation may also specify eager initialization - * using the "@EagerInit" annotation. When marked for eager initialization, - * the composite scoped instance will be created when its containing - * component is started. If a method is marked with the "@Init" annotation, - * it will be called when the instance is created.

    - * Section 1.8.9 "@EagerInit"
    - *

    - * GService is defined as eager initialization. It will be initialized - * when calls SCADomain.newInstance(compositeName), so the - * initCalledCounter is 1. - */ - @Test - public void atScope4() throws Exception { - System.out.println("atScope4"); - - GService gService = ServiceFinder.getService(GService.class, "GComponent"); - int initCalledCounter = gService.getInitCalledCounter(); - int destroyCalledCounter = gService.getDestroyCalledCounter(); - - System.out.println("initCalledCounter="+ initCalledCounter); - System.out.println("destroyCalledCounter="+ destroyCalledCounter); - System.out.println(""); - - Assert.assertEquals(1, initCalledCounter); - Assert.assertEquals(0, destroyCalledCounter); - } - - /** - * Line 261:
    - *

  • CONVERSATION
  • - *

    - * Lines 305 to 310:
    - * A conversation is defined as a series of correlated interactions between - * a client and a target service. A conversational scope starts when the - * first service request is dispatched to an implementation instance - * offering a conversational service. A conversational scope completes - * after an end operation defined by the service contract is called and - * completes processing or the conversation expires. A conversation may be - * long-running and the SCA runtime may choose to passivate implementation - * instances. If this occurs, the runtime must guarantee implementation - * instance state is preserved. - */ - @Test - public void atScope5() throws Exception { - System.out.println("atScope5"); - - ArrayList g = new ArrayList(); - for (int i = 0; i < numHThread; i++) - g.add(new HThread("ThreadH"+i)); - for (int i = 0; i < numHThread; i++) - g.get(i).start(); - for (int i = 0; i < numHThread; i++) - g.get(i).join(); - - HService hService = ServiceFinder.getService(HService.class, "HComponent"); - String failedReason = hService.testCounters(numHThread); - System.out.println(""); - - for (int i = 0; i < numHThread; i++) - Assert.assertEquals("None", g.get(i).failedReason); - Assert.assertEquals("None", failedReason); - } - - /** Lines 290 to 293:
    - * There are times when a local request scoped service is called without - * there being a remotable service earlier in the call stack, such as when - * a local service is called from a non-SCA entity. In these cases, a - * remote request is always considered to be present, but the lifetime of - * the request is implementation dependent. For example, a timer event - * could be treated as a remote request..
    - *

    - * When the composite runs, composite scope service JService kicks off a - * timer by the @Init method. When the timer expires, JService invokes a - * method that calls an operation on the reference to a stateless scope - * sevice KService. KService calls a request scope service LService - * multiple times. The results of the calls to LService should be set up to - * differ depending on whether the same instance is called each time - - * without the interface being declared Conversational.
    - *

    - */ - @Test - public void atScope6() throws Exception { - System.out.println("atScope6"); - - JService jService = ServiceFinder.getService(JService.class, "JComponent"); - jService.getName(); - Thread.sleep(2000); - String failedReason = jService.getFailedReason(); - System.out.println(""); - - Assert.assertEquals("", failedReason); - } - - /** - * Same as atScope6 but the timer triggers KService multiple times.
    - */ - @Test - @Ignore("TUSCANY-2256") - public void atScope7() throws Exception { - System.out.println("atScope7"); - - MService mService = ServiceFinder.getService(MService.class, "MComponent"); - mService.getName(); - Thread.sleep(6000); - String failedReason = mService.getFailedReason(); - System.out.println(""); - - Assert.assertEquals("", failedReason); - } - - private class BThread extends Thread { - private String name = null; - public String failedReason = "Unknown"; - - public BThread(String name) { - super(); - this.name = name; - failedReason = "Unknown"; - } - - @Override - public void run() { - BService bService = ServiceFinder.getService(BService.class, "BComponent"); - bService.setCurrentState(name + "-state-1"); - System.out.println(name + "->" + bService.getName()); - if (!bService.isInitReady()) { - failedReason = "InitNotReady"; - return; - } - if (bService.getCurrentState() != null) { - failedReason = "CurrentStateNotNull"; - return; - } - int counter = bService.getInstanceCounter(); - if (counter < 2) { - failedReason = "OnlyOneInstance - " + counter; - return; - } - counter = bService.getInitCalledCounter(); - if (counter < 2) { - failedReason = "InitBeCalledOnce - " + counter; - return; - } - counter = bService.getDestroyCalledCounter(); - if (counter < 2) { - failedReason = "DestroyBeCalledOnce - " + counter; - return; - } - failedReason = "None"; - } - } - - private class CThread extends Thread { - private String name = null; - public String failedReason = "Unknown"; - - public CThread(String name) { - super(); - this.name = name; - failedReason = "Unknown"; - } - - @Override - public void run() { - CService cService = ServiceFinder.getService(CService.class, "CComponent"); - cService.setCurrentState(name + "-state-1"); - System.out.println(name + "->" + cService.getName()); - if (!cService.isInitReady()) { - failedReason = "InitNotReady"; - return; - } - if (cService.getCurrentState() != null) { - failedReason = "CurrentStateNotNull"; - return; - } - int counter = cService.getInstanceCounter(); - if (counter < 2) { - failedReason = "OnlyOneInstance - " + counter; - return; - } - counter = cService.getInitCalledCounter(); - if (counter < 2) { - failedReason = "InitBeCalledOnce - " + counter; - return; - } - counter = cService.getDestroyCalledCounter(); - if (counter < 2) { - failedReason = "DestroyBeCalledOnce - " + counter; - return; - } - failedReason = "None"; - } - } - - private class DThread extends Thread { - - private String name = null; - public String failedReason = "Unknown"; - - public DThread(String name) { - super(); - this.name = name; - failedReason = "Unknown"; - } - - @Override - public void run() { - DService dService = ServiceFinder.getService(DService.class, "DComponent"); - String serviceName = dService.getName(); - System.out.println(name + "->" + serviceName); - - for (int i = 0; i < 10; i++) { - String newState = name + "-state-" + i; - dService.setCurrentState(newState); - String currentState = dService.getCurrentState(); - if (!currentState.equals(serviceName + "-" + newState)) { - failedReason = "CurrentStateLost - " + currentState; - return; - } - } - - if (!dService.isInitReady()) { - failedReason = "InitNotReady"; - return; - } - - int counter = dService.getInstanceCounter(); - if (counter > numDThread) { - failedReason = "TooMuchInstance - " + counter; - return; - } - - counter = dService.getInitCalledCounter(); - if (counter > numDThread) { - failedReason = "InitBeCalledTooMuch - " + counter; - return; - } - - // JIRA T-2215 - /* Don't know when destroy method be called - counter = dService.getDestroyCalledCounter(); - if (counter > numDThreads) { - failedReason = "DestroyBeCalledTooMuch - " + counter; - return; - } - */ - failedReason = "None"; - } - } - - private class FThread extends Thread { - - private String name = null; - - public String serviceName = null; - - public FThread(String name) { - super(); - this.name = name; - } - - @Override - public void run() { - FService fService = ServiceFinder.getService(FService.class, "FComponent"); - serviceName = fService.getName(); - System.out.println(name + "->" + serviceName); - - for (int i = 0; i < 10; i++) { - String newState = name + "-state-" + i; - fService.setCurrentState(newState); - fService.getCurrentState(); - } - } - } - - private class HThread extends Thread { - - public String failedReason = "Unknown"; - - public HThread(String name) { - super(); - failedReason = "Unknown"; - } - - @Override - public void run() { - HService hService = ServiceFinder.getService(HService.class, "HComponent"); - failedReason = hService.test(); - } - } - -} - - diff --git a/java/sca/vtest/java-api/annotations/service/pom.xml b/java/sca/vtest/java-api/annotations/service/pom.xml deleted file mode 100644 index 4c018607d1..0000000000 --- a/java/sca/vtest/java-api/annotations/service/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-annotations-service - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Annotations - @Service - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java deleted file mode 100644 index 7b89b31d7f..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -public interface AService { - - public String getName(); - - public String setAObject(AObject a); - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java deleted file mode 100644 index 26bcf3b9db..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; - -/** - * Simple Local Service - */ -public interface BService { - - public String getName(); - - public String setAObject(AObject a); - - public String testServices(); -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java deleted file mode 100644 index 4f4f1e80c7..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; - -/** - * Simple Local Service without defining "@Service" at the implementation class - */ -public interface CService { - - public String getName(); - - public String setAObject(AObject a); -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java deleted file mode 100644 index ffabb3619c..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -/** - * Simple Local Service - */ -public interface DService1 { - - public String getName1(); - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java deleted file mode 100644 index 83d7980dbc..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -/** - * Simple Local Service - */ -public interface DService2 { - - public String getName2(); - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java deleted file mode 100644 index a416e33de7..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -/** - * Simple Local Service - */ -public interface DService3 { - - public String getName3(); - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java deleted file mode 100644 index ad44d2b93a..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -/** - * Simple Local Service which implementation class defines - * - * @Service() with no attributes - */ -public interface EService { - - public String getName(); - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java deleted file mode 100644 index 52886131a1..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -/** - * Simple Local Service which implementation class defines - * - * @Service with full package name - */ -public interface FService { - - public String getName(); - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java deleted file mode 100644 index bd1a3a5fe6..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -/** - * Simple Local Service - */ -public interface GService1 { - - public String getName(); - - public String getServiceName(); - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java deleted file mode 100644 index 0f8c7dabcb..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -/** - * Simple Local Service - */ -public interface GService2 extends GService1 { - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java deleted file mode 100644 index 6a80e3023e..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -public interface HService { - - public String getName(); - - public String setAObject1(AObject a); - - public String setAObject2(AObject a); - - public String getComponentName(); - - public String getAObject1String(); - - public String getAObject2String(); - - public String getAObject3String(); - - public AObject getAObject3(); - - public String getServiceName1(); - - public String getServiceName2(); - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java deleted file mode 100644 index cdeb43c4f4..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -public interface IService { - - public String getName(); - - public String setAObject1(AObject a); - - public String setAObject2(AObject a); - - public void setComponentName1(String componentName1); - - public String getComponentName1(); - - public String getComponentName2(); - - public String getAObject1String(); - - public String getAObject2String(); - - public String getAObject3String(); - - public AObject getAObject3(); - - public String getServiceName1(); - - public String getServiceName2(); - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java deleted file mode 100644 index 0ab2e29194..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -/** - * A simple object to hold a string - */ -public class AObject { - - public String aString; - - public AObject() { - this.aString = null; - } - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java deleted file mode 100644 index b9617e5780..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.AService; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AServiceImpl implements AService { - - public String getName() { - return "AService"; - } - - public String setAObject(AObject a) { - a.aString = "AService"; - return "AService"; - } - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java deleted file mode 100644 index 474ca084d6..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.AService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.BService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.CService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.HService; -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.IService; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.Reference; - -@Service(BService.class) -public class BServiceImpl implements BService { - - @Reference(required=false) - public AService aService = null; - - @Reference(required=false) - public CService cService = null; - - @Reference(required=false) - public HService hService = null; - - @Reference(required=false) - public IService iService = null; - - public String getName() { - return "BService"; - } - - public String setAObject(AObject a) { - a.aString = "BService"; - return "BService"; - } - - public String testServices() { - - AObject a = new AObject(); - aService.setAObject(a); - if (a.aString != null) - return "AServiceNotPassByValue"; - - AObject c = new AObject(); - cService.setAObject(c); - if (c.aString == null || !c.aString.equals("CService")) - return "CServiceNotPassByReference"; - - - AObject h1 = new AObject(); - hService.setAObject1(h1); - if (h1.aString == null || !h1.aString.equals("HService")) - return "HServiceSetAObject1NotPassByReference"; - h1.aString = "testServices"; - if (!hService.getAObject1String().equals("testServices")) - return "HServiceGetAObject1NotPassByReference"; - - AObject h2 = new AObject(); - hService.setAObject2(h2); - if (h2.aString != null) - return "HServiceSetAObject2NotPassByValue"; - h2.aString = "testServices"; - if (!hService.getAObject2String().equals("HService")) - return "HServiceGetAObject1NotPassByValue"; - - AObject h3 = hService.getAObject3(); - h3.aString = "testServices"; - if (!hService.getAObject3String().equals("HService")) - return "HServiceGetAObject3NotPassByValue"; - - AObject i1 = new AObject(); - iService.setAObject1(i1); - if (i1.aString == null || !i1.aString.equals("IService")) - return "IServiceSetAObject1NotPassByReference"; - i1.aString = "testServices"; - if (!iService.getAObject1String().equals("testServices")) - return "IServiceGetAObject1NotPassByReference"; - - AObject i2 = new AObject(); - iService.setAObject2(i2); - if (i2.aString == null || !i2.aString.equals("IService")) - return "IServiceSetAObject2NotPassByReference"; - i2.aString = "testServices"; - if (!iService.getAObject2String().equals("testServices")) - return "IServiceGetAObject2NotPassByReference"; - - AObject i3 = iService.getAObject3(); - i3.aString = "testServices"; - if (!iService.getAObject3String().equals("testServices")) - return "IServiceGetAObject3NotPassByReference"; - - return "None"; - } -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java deleted file mode 100644 index 3fc23d2f68..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.CService; - -public class CServiceImpl implements CService { - - public String getName() { - return "CService"; - } - - public String setAObject(AObject a) { - a.aString = "CService"; - return "CService"; - } -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java deleted file mode 100644 index 5b3c73ddd8..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.DService1; -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.DService2; -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.DService3; -import org.oasisopen.sca.annotation.Service; - -@Service(interfaces = {DService1.class, DService2.class}) -public class DServiceImpl implements DService1, DService2, DService3 { - - public String getName1() { - return "DService1"; - } - - public String getName2() { - return "DService2"; - } - - public String getName3() { - return "DService3"; - } -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java deleted file mode 100644 index 321d019932..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.EService; -import org.oasisopen.sca.annotation.Service; - -@Service() -public class EServiceImpl implements EService { - - public String getName() { - return "EService"; - } - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java deleted file mode 100644 index f28fa0c3a7..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.FService; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Service; - -@Service(org.apache.tuscany.sca.vtest.javaapi.annotations.service.FService.class) -public class FServiceImpl implements FService { - - @Context - public RequestContext requestContext; - - public String getName() { - return requestContext.getServiceName(); - } - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java deleted file mode 100644 index 79051eea8f..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.oasisopen.sca.annotation.Service; - -@Service(FServiceImpl2.class) -public class FServiceImpl2 extends FServiceImpl { -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java deleted file mode 100644 index 161cbaa620..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.GService1; -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.GService2; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.RequestContext; - -@Service(interfaces = {GService1.class, GService2.class}) -public class GServiceImpl implements GService1 { - - @Context - public RequestContext requestContext; - - public String getName() { - return "GService"; - } - - public String getServiceName() { - return requestContext.getServiceName(); - } - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java deleted file mode 100644 index 02e67b645b..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.HService; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.annotation.ComponentName; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; -import org.oasisopen.sca.annotation.AllowsPassByReference; - -@Service(HService.class) -@Scope("REQUEST") -public class HServiceImpl implements HService { - - @ComponentName - protected String componentName; - - private AObject aObject1 = null; - - private AObject aObject2 = null; - - private AObject aObject3 = null; - - public RequestContext requestContext; - - public ComponentContext componentContext; - - public String getName() { - return "HService"; - } - - @AllowsPassByReference - public String setAObject1(AObject a) { - a.aString = "HService"; - aObject1 = a; - return "HService"; - } - - public String setAObject2(AObject a) { - a.aString = "HService"; - aObject2 = a; - return "HService"; - } - - @Context - public void setComponentContext(ComponentContext componentContext) { - this.componentContext = componentContext; - } - - @Context - public void setRequestContext(RequestContext requestContext) { - this.requestContext = requestContext; - } - - public String getComponentName() { - return componentName; - } - - public String getAObject1String() { - return aObject1.aString; - } - - public String getAObject2String() { - return aObject2.aString; - } - - public String getAObject3String() { - return aObject3.aString; - } - - public AObject getAObject3() { - aObject3 = new AObject(); - aObject3.aString = "HService"; - return aObject3; - } - - public String getServiceName1() { - return requestContext.getServiceName(); - } - - public String getServiceName2() { - return componentContext.getRequestContext().getServiceName(); - } - -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java b/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java deleted file mode 100644 index ea08149eaf..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.IService; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.annotation.AllowsPassByReference; -import org.oasisopen.sca.annotation.ComponentName; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(IService.class) -@Scope("REQUEST") -@AllowsPassByReference -public class IServiceImpl implements IService { - - @ComponentName - public String componentName1; - - public String componentName2; - - private AObject aObject1 = null; - - private AObject aObject2 = null; - - private AObject aObject3 = null; - - @Context - public RequestContext requestContext; - - @Context - public ComponentContext componentContext; - - public String getName() { - return "IService"; - } - - public String setAObject1(AObject a) { - a.aString = "IService"; - aObject1 = a; - return "IService"; - } - - public String setAObject2(AObject a) { - a.aString = "IService"; - aObject2 = a; - return "IService"; - } - - @ComponentName - public void setComponentName1(String componentName1) { - this.componentName2 = componentName1; - } - - public String getAObject1String() { - return aObject1.aString; - } - - public String getAObject2String() { - return aObject2.aString; - } - - public String getAObject3String() { - return aObject3.aString; - } - - public AObject getAObject3() { - aObject3 = new AObject(); - aObject3.aString = "IService"; - return aObject3; - } - - public String getComponentName1() { - return componentName1; - } - - public String getComponentName2() { - return componentName2; - } - - public String getServiceName1() { - return requestContext.getServiceName(); - } - - public String getServiceName2() { - return componentContext.getRequestContext().getServiceName(); - } -} diff --git a/java/sca/vtest/java-api/annotations/service/src/main/resources/service.composite b/java/sca/vtest/java-api/annotations/service/src/main/resources/service.composite deleted file mode 100644 index 0731986df2..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/main/resources/service.composite +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/annotations/service/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/ServiceAnnotationTestCase.java b/java/sca/vtest/java-api/annotations/service/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/ServiceAnnotationTestCase.java deleted file mode 100644 index 52f7821ebb..0000000000 --- a/java/sca/vtest/java-api/annotations/service/src/test/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/ServiceAnnotationTestCase.java +++ /dev/null @@ -1,335 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.annotations.service; - -import static org.junit.Assert.fail; -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; -import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.FServiceImpl2; -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * This test class tests the Service annotation described in section 1.2.1 - * including 1.3.1, 1.8.1, 1.8.3, 1.8.6, 1.8.15 and 1.8.17
    - * but not..
    - *

  • Lines 1531 to 1534
  • - */ -public class ServiceAnnotationTestCase { - - protected static String compositeName = "service.composite"; - protected static AService aService = null; - protected static BService bService = null; - protected static BService bService1 = null; - protected static HService hService = null; - protected static IService iService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - bService = ServiceFinder.getService(BService.class, "BComponent"); - bService1 = ServiceFinder.getService(BService.class, "BComponent1"); - hService = ServiceFinder.getService(HService.class, "HComponent"); - iService = ServiceFinder.getService(IService.class, "IComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Line 215:
    - *
  • As a Java interface
  • - *

    - * Line 1622 to 1623:
    - * The - * - * @Service annotation type is used on a component implementation class to - * specify the SCA services offered by the implementation.
    - */ - @Test - public void atService1() throws Exception { - Assert.assertEquals("AService", aService.getName()); - } - - /** - * Line 216:
    - *

  • As a Java class
  • - *

    - * Line 1631:
    - *

  • value – A shortcut for the case when the class provides only a - * single service interface.
  • - */ - @Test - public void atService2() throws Exception { - Assert.assertEquals("BService", bService.getName()); - } - - /** - * Lines 222 to 224:
    - * A remotable service is defined using the "@Remotable" annotation on the - * Java interface that defines the service. Remotable services are intended - * to be used for coarse grained services, and the parameters are passed - * by-value.
    - *

    - * Lines 321 to 323:
    - * The "@Remotable" annotation on a Java interface indicates that the - * interface is designed to be used for remote communication. Remotable - * interfaces are intended to be used for coarse grained services. - * Operations parameters and return values are passed by-value.
    - */ - @Test - public void atService3() throws Exception { - AObject o = new AObject(); - Assert.assertEquals("AService", aService.setAObject(o)); - Assert.assertNull(o.aString); - } - - /** - * Lines 227 to 242:
    - * A local service can only be called by clients that are deployed within - * the same address space as the component implementing the local service.
    - * ...
    - * The data exchange semantic for calls to local services is by-reference.
    - * ...
    - * Lines 996 to 1028:
    - * 1.8.1 "@AllowsPassByReference"
    - * ...
    - * Lines 1535 to 1540:
    - * Independent of whether the remotable service is called from outside of - * the composite that contains it or from another component in the same - * composite, the data exchange semantics are by-value.
    - * Implementations of remotable services may modify input data during or - * after an invocation and may modify return data after the invocation. If a - * remotable service is called locally or remotely, the SCA container is - * responsible for making sure that no modification of input data or - * post-invocation modifications to return data are seen by the caller.
    - *

    - * Test under Non-SCA <-> SCA - *

  • BService is local service to test by reference
  • - *
  • HService is remotable service to test "@AllowsPassByReference" at - * method level
  • - *
  • IService is remotable service to test "@AllowsPassByReference" at - * class level
  • - */ - @Test - public void atService4() throws Exception { - AObject b = new AObject(); - Assert.assertEquals("BService", bService.setAObject(b)); - Assert.assertEquals("BService", b.aString); - - AObject h1 = new AObject(); - Assert.assertEquals("HService", hService.setAObject1(h1)); - Assert.assertEquals("HService", h1.aString); - h1.aString = "atService4"; - Assert.assertEquals("atService4", hService.getAObject1String()); - - AObject h2 = new AObject(); - Assert.assertEquals("HService", hService.setAObject2(h2)); - Assert.assertNull(h2.aString); - h2.aString = "atService4"; - Assert.assertEquals("HService", hService.getAObject2String()); - - AObject h3 = hService.getAObject3(); - h3.aString = "atService4"; - Assert.assertEquals("HService", hService.getAObject3String()); - - AObject i1 = new AObject(); - Assert.assertEquals("IService", iService.setAObject1(i1)); - Assert.assertEquals("IService", i1.aString); - i1.aString = "atService4"; - Assert.assertEquals("atService4", iService.getAObject1String()); - - AObject i2 = new AObject(); - Assert.assertEquals("IService", iService.setAObject2(i2)); - Assert.assertEquals("IService", i2.aString); - i2.aString = "atService4"; - Assert.assertEquals("atService4", iService.getAObject2String()); - - AObject i3 = iService.getAObject3(); - i3.aString = "atService4"; - Assert.assertEquals("atService4", iService.getAObject3String()); - } - - /** - * Line 1624 to 1627:
    - * A class used as the implementation of a service is not required to have - * an "@Service" annotation. If a class has no "@Service" annotation, then - * the rules determining which services are offered and what interfaces - * those services have are determined by the specific implementation type. - *
    - */ - @Test - public void atService5() throws Exception { - CService cService = ServiceFinder.getService(CService.class, "CComponent"); - Assert.assertEquals("CService", cService.getName()); - } - - /** - * Line 1623 to 1624:
    - * The class need not be declared as implementing all of the interfaces - * implied by the services, but all methods of the service interfaces must - * be present.
    - *

    - * Line 1629 to 1630:
    - *

  • interfaces – The value is an array of interface or class objects - * that should be exposed as services by this component.
  • - */ - @Test - public void atService6() throws Exception { - DService1 dService1 = ServiceFinder.getService(DService1.class, "DComponent/DService1"); - Assert.assertEquals("DService1", dService1.getName1()); - DService2 dService2 = ServiceFinder.getService(DService2.class, "DComponent/DService2"); - Assert.assertEquals("DService2", dService2.getName2()); - try { - ServiceFinder.getService(DService3.class, "DComponent/DService3"); - fail("Should have failed to get this service"); - } catch (Exception e) { - // Expect an exception - } - } - - /** - * Line 1635 to 1636:
    - * A "@Service" annotation with no attributes is meaningless, it is the same - * as not having the annotation there at all.
    - */ - @Test - public void atService7() throws Exception { - EService eService = ServiceFinder.getService(EService.class, "EComponent"); - Assert.assertEquals("EService", eService.getName()); - } - - /** - * Line 1637 to 1638:
    - * The service names of the defined services default to the names of the - * interfaces or class, without the package name.
    - */ - @Test - public void atService8() throws Exception { - FService fService = ServiceFinder.getService(FService.class, "FComponent"); - Assert.assertEquals("FService", fService.getName()); - FServiceImpl2 fServiceImpl2 = ServiceFinder.getService(FServiceImpl2.class, "FComponent2"); - Assert.assertEquals("FServiceImpl2", fServiceImpl2.getName()); - fService = ServiceFinder.getService(FService.class, "FComponent2"); - Assert.assertEquals("FServiceImpl2", fService.getName()); - } - - /** - * Line 1639 to 1641:
    - * If a Java implementation needs to realize two services with the same - * interface, then this is achieved through subclassing of the interface. - * The subinterface must not add any methods. Both interfaces are listed in - * the "@Service" annotation of the Java implementation class.
    - */ - @Test - public void atService9() throws Exception { - GService1 gService1 = ServiceFinder.getService(GService1.class, "GComponent/GService1"); - GService2 gService2 = ServiceFinder.getService(GService2.class, "GComponent/GService2"); - Assert.assertEquals("GService", gService1.getName()); - Assert.assertEquals("GService1", gService1.getServiceName()); - Assert.assertEquals("GService", gService2.getName()); - Assert.assertEquals("GService2", gService2.getServiceName()); - } - - /** - * Lines 227 to 242:
    - * A local service can only be called by clients that are deployed within - * the same address space as the component implementing the local service.
    - * ...
    - * The data exchange semantic for calls to local services is by-reference.
    - * ...
    - * Lines 996 to 1028:
    - * 1.8.1 "@AllowsPassByReference"
    - * ...
    - * Lines 1535 to 1540:
    - * Independent of whether the remotable service is called from outside of - * the composite that contains it or from another component in the same - * composite, the data exchange semantics are by-value.
    - * Implementations of remotable services may modify input data during or - * after an invocation and may modify return data after the invocation. If a - * remotable service is called locally or remotely, the SCA container is - * responsible for making sure that no modification of input data or - * post-invocation modifications to return data are seen by the caller.
    - *

    - * Test under SCA <-> SCA
    - *

  • AService is remotable service to test by value
  • - *
  • CService is local service to test by-reference
  • - *
  • HService is remotable service to test "@AllowsPassByReference" at - * method level
  • - *
  • IService is remotable service to test "@AllowsPassByReference" at - * class level
  • - */ - @Test - public void atService10() throws Exception { - Assert.assertEquals("None", bService1.testServices()); - } - - /** - * Lines 1095 to 1124:
    - * 1.8.3. "@ComponentName"
    - * ...
    - * The "@ComponentName" annotation type is used to annotate a Java class - * field or setter method that is used to inject the component name.
    - * ...
    - */ - @Test - public void atService11() throws Exception { - Assert.assertEquals("HComponent", hService.getComponentName()); - Assert.assertNull(iService.getComponentName1()); - Assert.assertEquals("IComponent", iService.getComponentName2()); - } - - /** - * Lines 1164 to 1187:
    - * 1.8.6. "@Context"
    - * ...
    - * The "@Context" annotation type is used to annotate a Java class field or - * a setter method that is used to inject a composite context for the - * component. The type of context to be injected is defined by the type of - * the Java class field or type of the setter method input argument, the - * type is either ComponentContext or RequestContext.
    - * ...
    - *

    - * HService - "@Context" is used to annotate setter methods
    - * IService - "@Context" is used to annotate class fields
    - *
    - */ - @Test - public void atService12() throws Exception { - Assert.assertEquals("HService", hService.getServiceName1()); - Assert.assertEquals("HService", hService.getServiceName2()); - Assert.assertEquals("IService", iService.getServiceName1()); - Assert.assertEquals("IService", iService.getServiceName2()); - } -} diff --git a/java/sca/vtest/java-api/apis/callablereference/pom.xml b/java/sca/vtest/java-api/apis/callablereference/pom.xml deleted file mode 100644 index fff1689569..0000000000 --- a/java/sca/vtest/java-api/apis/callablereference/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-apis - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-apis-callablereference - Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - CallableReference - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/AComponent.java b/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/AComponent.java deleted file mode 100644 index a7040f944e..0000000000 --- a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/AComponent.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service A. - */ -@Conversational -public interface AComponent { - - public String getName(); - - public String getServiceName(); - public String getBusinessInterfaceName(); - public boolean isConversational(); - public void testConversationID(); - public String getCallbackResult(); - -} diff --git a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BCallback.java b/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BCallback.java deleted file mode 100644 index 707568e507..0000000000 --- a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BCallback.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference; - -public interface BCallback { - - public void processResults(String result); - -} diff --git a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BComponent.java b/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BComponent.java deleted file mode 100644 index 18fcaee6ee..0000000000 --- a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/BComponent.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service B. - */ -@Conversational -@Callback(BCallback.class) -public interface BComponent { - - public String getName(); - - public void testCallback(); - public void testConversationID(); - public void testNonNullConversation(); - -} diff --git a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/AComponentImpl.java b/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/AComponentImpl.java deleted file mode 100644 index 70a257d19f..0000000000 --- a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/AComponentImpl.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.AComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.BCallback; -import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.BComponent; -import org.junit.Assert; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AComponent.class) -@Scope("CONVERSATION") -public class AComponentImpl implements AComponent, BCallback { - - private static Object monitor = new Object(); - private static String returnMessage = null; - - protected ComponentContext componentContext; - - @Reference - protected CallableReference bReference; - - @ConversationID - protected String cid; - - public String getName() { - return "ComponentA"; - } - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public String getServiceName() { - return bReference.getService().getName(); - } - - public String getBusinessInterfaceName() { - return bReference.getBusinessInterface().getSimpleName(); - } - - public boolean isConversational() { - return bReference.isConversational(); - } - - public void testConversationID() { - ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); - bSR.setConversationID("AConversationID"); - bSR.getService().testConversationID(); - - Assert.assertEquals("AConversationID", bSR.getConversation().getConversationID()); - } - - public String getCallbackResult() { - ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); - String cbID = "ComponentACallBack"; - bSR.setCallbackID(cbID); - bSR.getService().testCallback(); - - // Wait for 30s max. - int count = 0; - synchronized(monitor) { - while (returnMessage == null && count++ < 30) { - try { - monitor.wait(1000L); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - - return returnMessage; - } - - public void processResults(String result) { - returnMessage = result; - } - -} diff --git a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/BComponentImpl.java b/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/BComponentImpl.java deleted file mode 100644 index ea4c71d27a..0000000000 --- a/java/sca/vtest/java-api/apis/callablereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/impl/BComponentImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.BCallback; -import org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.BComponent; -import org.junit.Assert; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BComponent.class) -@Scope("CONVERSATION") -public class BComponentImpl implements BComponent { - - protected ComponentContext componentContext; - - @Callback - protected BCallback callback; - - @ConversationID - protected String cid; - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public String getName() { - return "ComponentB"; - } - - public void testCallback() { - callback = componentContext.getRequestContext().getCallback(); - callback.processResults("CallBackFromB"); - - CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); - Assert.assertEquals("ComponentACallBack", bCR.getCallbackID()); - } - - public void testConversationID() { - Assert.assertEquals("AConversationID", cid); - } - - public void testNonNullConversation() { - Assert.assertNotNull(componentContext.getRequestContext().getServiceReference().getConversation()); - } - -} diff --git a/java/sca/vtest/java-api/apis/callablereference/src/main/resources/callablereference.composite b/java/sca/vtest/java-api/apis/callablereference/src/main/resources/callablereference.composite deleted file mode 100644 index f997d78bb5..0000000000 --- a/java/sca/vtest/java-api/apis/callablereference/src/main/resources/callablereference.composite +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/apis/callablereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/CallableReferenceTestCase.java b/java/sca/vtest/java-api/apis/callablereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/CallableReferenceTestCase.java deleted file mode 100644 index 4d0d8338ba..0000000000 --- a/java/sca/vtest/java-api/apis/callablereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/callablereference/CallableReferenceTestCase.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.callablereference; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * This test class tests the CallableReference interface described in 1.7.3 of - * the SCA Java Annotations & APIs Specification 1.0. - */ -public class CallableReferenceTestCase { - - protected static String compositeName = "callablereference.composite"; - protected static AComponent a; - protected static BComponent b; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a = ServiceFinder.getService(AComponent.class, "AComponent"); - b = ServiceFinder.getService(BComponent.class, "BComponent"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Lines 884
    - * getService() - Returns a type-safe reference to the target of this - * reference. The instance returned is guaranteed to implement the business - * interface for this reference. The value returned is a proxy to the target - * that implements the business interface associated with this reference. - * - * @throws Exception - */ - @Test - public void testGetService() throws Exception { - Assert.assertEquals("ComponentB", a.getServiceName()); - } - - /** - * Lines 885
    - * getBusinessInterface() – Returns the Java class for the business - * interface associated with this reference. - * - * @throws Exception - */ - @Test - public void testGetBusinessInterface() throws Exception { - Assert.assertEquals("BComponent", a.getBusinessInterfaceName()); - } - - /** - * Lines 886
    - * isConversational() – Returns true if this reference is conversational. - * - * @throws Exception - */ - @Test - public void testIsConversational() throws Exception { - Assert.assertEquals(true, a.isConversational()); - } - - /** - * Lines 887
    - * getConversation() – Returns the conversation associated with this - * reference. Returns null if no conversation is currently active. - * - * @throws Exception - */ - @Test - public void testGetConversation() throws Exception { - a.testConversationID(); - b.testNonNullConversation(); - } - - /** - * Lines 888
    - * getCallbackID() – Returns the callback ID. - * - * @throws Exception - */ - @Test - public void testGetCallbackID() throws Exception { - // Actual test is in BComponentImpl. Below is an extra test. - Assert.assertEquals("CallBackFromB", a.getCallbackResult()); - } - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/pom.xml b/java/sca/vtest/java-api/apis/componentcontext/pom.xml deleted file mode 100644 index 0a2d12a41e..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-apis - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-apis-componentcontext - Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - ComponentContext - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/AComponent.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/AComponent.java deleted file mode 100644 index b2c8c07866..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/AComponent.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; - -/** - * Simple Service A. - */ -public interface AComponent { - - public String getName(); - - public String getContextURI(); - public String getServiceBName(); - public String getServiceReferenceBName(); - public String getSelfReferenceName(); - public String getProperty(); - public String getRequestContextServiceName(); - public String getCastCallableReferenceServiceName(); - public String getCastServiceReferenceServiceName(); - public void illegalCast(); - - public String testServiceLookup(); - public String getRequestContextContent(); - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BComponent.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BComponent.java deleted file mode 100644 index 7e425c740f..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BComponent.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; - -/** - * Simple Service B. - */ -public interface BComponent { - - String getName(); - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java deleted file mode 100644 index d7799bb3aa..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/BService.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service B. - */ -@Remotable -public interface BService { - - String getBName(); - - String getSelfReferenceWithServiceName(); - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/CService.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/CService.java deleted file mode 100644 index d0da012f6f..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/CService.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; - -/** - * Simple Service C. - */ -public interface CService { - - String getCName(); - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java deleted file mode 100644 index 079d859f74..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/DComponent.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface DComponent { - - public String getName(); - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java deleted file mode 100644 index 06a71c29ac..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AComponentImpl.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.AComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.BService; -import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.DComponent; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AComponent.class) -@Scope("COMPOSITE") -@EagerInit -public class AComponentImpl implements AComponent { - - public static String rcContent = null; - - protected ComponentContext componentContext; - - @Reference - protected BService bReference; - - @Reference - protected DComponent dReference; - - @Property(name="aProperty", required=true) - protected String aProperty; - - public String getName() { - return "ComponentA"; - } - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - @Init - public void init() { - RequestContext rc = componentContext.getRequestContext(); - if (rc != null) { - rcContent = "NotNull"; - } else { - rcContent = "Null"; - } - } - - public String getContextURI() { - return componentContext.getURI(); - } - - public String getServiceBName() { - return componentContext.getService(BService.class, "bReference").getBName(); - } - - public String getServiceReferenceBName() { - ServiceReference bSR = componentContext.getServiceReference(BService.class, "bReference"); - return bSR.getService().getBName(); - } - - public String getSelfReferenceName() { - ServiceReference aSR = componentContext.createSelfReference(AComponent.class); - return aSR.getService().getName(); - } - - public String getProperty() { - return componentContext.getProperty(String.class, "aProperty"); - } - - public String getRequestContextServiceName() { - return componentContext.getRequestContext().getServiceName(); - } - - public String getCastCallableReferenceServiceName() { - BService b = componentContext.getService(BService.class, "bReference"); - CallableReference bCR = componentContext.cast(b); - return bCR.getService().getBName(); - } - - public String getCastServiceReferenceServiceName() { - BService b = componentContext.getService(BService.class, "bReference"); - ServiceReference bSR = componentContext.cast(b); - return bSR.getService().getBName(); - } - - public void illegalCast() { - componentContext.cast(""); - } - - public String testServiceLookup() { - return componentContext.getService(DComponent.class, "dReference").getName(); - } - - public String getRequestContextContent() { - return rcContent; - } - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java deleted file mode 100644 index e508687965..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/AUnannotatedComponentImpl.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.AComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.BService; -import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.DComponent; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AComponent.class) -@Scope("COMPOSITE") -@EagerInit -public class AUnannotatedComponentImpl implements AComponent { - - public static String rcContent = null; - - protected ComponentContext componentContext; - - protected BService bReference; - - protected DComponent dReference; - - protected String aProperty; - - public String getName() { - return "ComponentA"; - } - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - @Init - public void init() { - RequestContext rc = componentContext.getRequestContext(); - if (rc != null) { - rcContent = "NotNull"; - } else { - rcContent = "Null"; - } - } - - public String getContextURI() { - return componentContext.getURI(); - } - - public String getServiceBName() { - return componentContext.getService(BService.class, "bReference").getBName(); - } - - public String getServiceReferenceBName() { - ServiceReference bSR = componentContext.getServiceReference(BService.class, "bReference"); - return bSR.getService().getBName(); - } - - public String getSelfReferenceName() { - ServiceReference aSR = componentContext.createSelfReference(AComponent.class); - return aSR.getService().getName(); - } - - public String getProperty() { - return componentContext.getProperty(String.class, "aProperty"); - } - - public String getRequestContextServiceName() { - return componentContext.getRequestContext().getServiceName(); - } - - public String getCastCallableReferenceServiceName() { - BService b = componentContext.getService(BService.class, "bReference"); - CallableReference bCR = componentContext.cast(b); - return bCR.getService().getBName(); - } - - public String getCastServiceReferenceServiceName() { - BService b = componentContext.getService(BService.class, "bReference"); - ServiceReference bSR = componentContext.cast(b); - return bSR.getService().getBName(); - } - - public void illegalCast() { - componentContext.cast(""); - } - - public String testServiceLookup() { - return componentContext.getService(DComponent.class, "dReference").getName(); - } - - public String getRequestContextContent() { - return rcContent; - } - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/BComponentImpl.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/BComponentImpl.java deleted file mode 100644 index 157864fd27..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/BComponentImpl.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.BService; -import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.CService; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Service; - -@Service(interfaces={BService.class, CService.class}) -public class BComponentImpl implements BService, CService { - - protected ComponentContext componentContext; - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public String getBName() { - return "ServiceB"; - } - - public String getCName() { - return "ServiceC"; - } - - public String getSelfReferenceWithServiceName() { - ServiceReference cSR = componentContext.createSelfReference(CService.class, "CService"); - return cSR.getService().getCName(); - } - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/DComponentImpl.java b/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/DComponentImpl.java deleted file mode 100644 index 9432c70ff3..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/impl/DComponentImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.DComponent; -import org.oasisopen.sca.annotation.Service; - -@Service(DComponent.class) -public class DComponentImpl implements DComponent { - - public String getName() { - return "ComponentD"; - } - -} diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite b/java/sca/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite deleted file mode 100644 index 19f110d5dc..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/main/resources/ab.composite +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - PropertyA - - - - - - - PropertyA - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java b/java/sca/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java deleted file mode 100644 index e9352a5c06..0000000000 --- a/java/sca/vtest/java-api/apis/componentcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/componentcontext/ComponentContextTestCase.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * This test class tests the ComponentContext interface described in 1.7.1 of - * the SCA Java Annotations & APIs Specification 1.0. Relevant sections of 1.4 - * will also be covered here. - */ -public class ComponentContextTestCase { - - protected static String compositeName = "ab.composite"; - protected static AComponent a; - protected static AComponent aUnannotated; - protected static BService b; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a = ServiceFinder.getService(AComponent.class, "AComponent"); - aUnannotated = ServiceFinder.getService(AComponent.class, "AUnannotatedComponent"); - b = ServiceFinder.getService(BService.class, "BComponent/BService"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Lines 776
    - * getURI() - Returns the absolute URI of the component within the SCA - * domain. - * - * @throws Exception - */ - @Test - public void testGetURI() throws Exception { - Assert.assertEquals("AComponent", a.getContextURI()); - Assert.assertEquals("AUnannotatedComponent", aUnannotated.getContextURI()); - } - - /** - * Lines 778
    - * getService(Class<B> businessInterface, String referenceName) ? - * Returns a proxy for the reference defined by the current component. - * - * @throws Exception - */ - @Test - public void testGetService() throws Exception { - Assert.assertEquals(a.getServiceBName(), "ServiceB"); - } - - /** - * Lines 780
    - * getServiceReference(Class<B> businessInterface, String - * referenceName) ? Returns a ServiceReference defined by the current - * component. - * - * @throws Exception - */ - @Test - public void testGetServiceReference() throws Exception { - Assert.assertEquals(a.getServiceReferenceBName(), "ServiceB"); - } - - /** - * Lines 783
    - * createSelfReference(Class<B> businessInterface) ? Returns a - * ServiceReference that can be used to invoke this component over the - * designated service. - * - * @throws Exception - */ - @Test - public void testCreateSelfReference() throws Exception { - Assert.assertEquals(a.getSelfReferenceName(), "ComponentA"); - } - - /** - * Lines 785
    - * getSelfReference(Class<B> businessInterface, String serviceName) - - * Returns a ServiceReference that can be used to invoke this component over - * the designated service. Service name explicitly declares the service name - * to invoke. - * - * @throws Exception - */ - @Test - public void testCreateSelfReferenceWithServiceName() throws Exception { - Assert.assertEquals("ServiceC", b.getSelfReferenceWithServiceName()); - } - - /** - * Lines 788
    - * getProperty (Class<B> type, String propertyName) - Returns the - * value of an SCA property defined by this component. - * - * @throws Exception - */ - @Test - public void testGetProperty() throws Exception { - Assert.assertEquals("PropertyA", a.getProperty()); - } - - /** - * Lines 793
    - * getRequestContext() - Returns the context for the current SCA service - * request, or null if there is no current request or if the context is - * unavailable. - * - * @throws Exception - */ - @Test - public void testGetRequestContext() throws Exception { - Assert.assertEquals("AComponent", a.getRequestContextServiceName()); - Assert.assertEquals("NotNull", a.getRequestContextContent()); - } - - /** - * Lines 790,794
    - * cast(B target) - Casts a type-safe reference to a CallableReference. - * - * @throws Exception - */ - @Test - public void testCast() throws Exception { - Assert.assertEquals("ServiceB", a.getCastCallableReferenceServiceName()); - Assert.assertEquals("ServiceB", a.getCastServiceReferenceServiceName()); - - String check = ""; - try { - a.illegalCast(); - } catch (IllegalArgumentException iae) { - check = "IllegalCast"; - } catch (ServiceRuntimeException sre) { - if (sre.getCause() instanceof IllegalArgumentException) { - check = "IllegalCast"; - } - } - Assert.assertEquals("IllegalCast", check); - } - - /** - * Lines 342-344
    - * When a component implementation needs access to a service where the - * reference to the service is not known at compile time, the reference can - * be located using the component?s ComponentContext. - * - * @throws Exception - */ - @Test - @Ignore("TUSCANY-2609") - public void testServiceLookup() throws Exception { - Assert.assertEquals("ComponentD", a.testServiceLookup()); - } - -} diff --git a/java/sca/vtest/java-api/apis/conversation/pom.xml b/java/sca/vtest/java-api/apis/conversation/pom.xml deleted file mode 100644 index e026dcc800..0000000000 --- a/java/sca/vtest/java-api/apis/conversation/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-apis - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-apis-conversation - Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - Conversation - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/AComponent.java b/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/AComponent.java deleted file mode 100644 index 845c10303e..0000000000 --- a/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/AComponent.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.conversation; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service A. - */ -@Conversational -public interface AComponent { - - public String getName(); - - public void testConversation(); - -} diff --git a/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/BComponent.java b/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/BComponent.java deleted file mode 100644 index a3148aa0d7..0000000000 --- a/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/BComponent.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.conversation; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.EndsConversation; - -/** - * Simple Service B. - */ -@Conversational -public interface BComponent { - - public String getName(); - - public void testCustomConversationID(); - public void testGeneratedConversationID(Object id); - - @EndsConversation - public void endsConversation(); - -} diff --git a/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/AComponentImpl.java b/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/AComponentImpl.java deleted file mode 100644 index 7160121388..0000000000 --- a/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/AComponentImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.conversation.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.conversation.AComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.conversation.BComponent; -import org.junit.Assert; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.Conversation; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AComponent.class) -@Scope("CONVERSATION") -public class AComponentImpl implements AComponent { - - protected ComponentContext componentContext; - - @Reference - protected CallableReference bReference; - - @ConversationID - protected String cid; - - public String getName() { - return "ComponentA"; - } - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public void testConversation() { - ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); - bSR.setConversationID("AConversationID"); - bSR.getService().testCustomConversationID(); - - Conversation bc = bSR.getConversation(); - Assert.assertEquals("AConversationID", bc.getConversationID()); - bc.end(); - - Assert.assertEquals("ComponentB", bReference.getService().getName()); - bReference.getService().testGeneratedConversationID(bReference.getConversation().getConversationID()); - bReference.getConversation().end(); - - Assert.assertEquals(1, BComponentImpl.customInitCount); - Assert.assertEquals(1, BComponentImpl.customDestroyCount); - } - -} diff --git a/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/BComponentImpl.java b/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/BComponentImpl.java deleted file mode 100644 index c487559ca1..0000000000 --- a/java/sca/vtest/java-api/apis/conversation/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/impl/BComponentImpl.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.conversation.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.conversation.BComponent; -import org.junit.Assert; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BComponent.class) -@Scope("CONVERSATION") -public class BComponentImpl implements BComponent { - - public static int customInitCount = 0; - public static int customDestroyCount = 0; - - protected ComponentContext componentContext; - - @ConversationID - protected String cid; - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public String getName() { - return "ComponentB"; - } - - public void testCustomConversationID() { - Assert.assertEquals("AConversationID", cid); - } - - public void testGeneratedConversationID(Object id) { - Assert.assertEquals(id.toString(), cid); - } - - public void endsConversation() { - } - - @Init - public void initB() { - if (cid.equals("AConversationID")) { - customInitCount++; - } - } - - @Destroy - public void destroyB() { - if (cid.equals("AConversationID")) { - customDestroyCount++; - } - } - -} diff --git a/java/sca/vtest/java-api/apis/conversation/src/main/resources/conversation.composite b/java/sca/vtest/java-api/apis/conversation/src/main/resources/conversation.composite deleted file mode 100644 index 87cab2f479..0000000000 --- a/java/sca/vtest/java-api/apis/conversation/src/main/resources/conversation.composite +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/apis/conversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/ConversationTestCase.java b/java/sca/vtest/java-api/apis/conversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/ConversationTestCase.java deleted file mode 100644 index 9b46ac5e08..0000000000 --- a/java/sca/vtest/java-api/apis/conversation/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/conversation/ConversationTestCase.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.conversation; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * This test class tests the Conversation interface described in 1.7.5 of the - * SCA Java Annotations & APIs Specification 1.0. - */ -public class ConversationTestCase { - - protected static String compositeName = "conversation.composite"; - protected static AComponent a; - protected static BComponent b; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a = ServiceFinder.getService(AComponent.class, "AComponent"); - b = ServiceFinder.getService(BComponent.class, "BComponent"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Lines 941, 942
    - * getConversationID() – Returns the identifier for this conversation. If a - * user-defined identity had been supplied for this reference then its value - * will be returned; otherwise the identity generated by the system when the - * conversation was initiated will be returned.
    - * end() – Ends this conversation. - * - * @throws Exception - */ - @Test - public void testConversation() throws Exception { - a.testConversation(); - } - -} diff --git a/java/sca/vtest/java-api/apis/exception/pom.xml b/java/sca/vtest/java-api/apis/exception/pom.xml deleted file mode 100644 index ef6e5182ee..0000000000 --- a/java/sca/vtest/java-api/apis/exception/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-apis - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-apis-exception - Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - Exception - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java deleted file mode 100644 index 90582e88a2..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/AComponent.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service A. - */ -@Conversational -public interface AComponent { - - public String getName(); - - public void testConversation(); - public void testCallBack(); - - public boolean testServiceRuntimeException(); - public boolean testServiceUnavailableException(); - - public boolean testCheckedException(); - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BCallback.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BCallback.java deleted file mode 100644 index c1c1c6544c..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BCallback.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception; - -public interface BCallback { - - public void processResults(String result); - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BComponent.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BComponent.java deleted file mode 100644 index 11886277ad..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/BComponent.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception; - -import org.oasisopen.sca.annotation.Callback; - -/** - * Simple Service B. - */ -@Callback(BCallback.class) -public interface BComponent { - - public String getName(); - - public void testCallback(); - public void testRedirectedCallback(); - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/CComponent.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/CComponent.java deleted file mode 100644 index 466a32731a..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/CComponent.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service C. - */ -@Conversational -public interface CComponent { - - public String getName(); - - public void testConversation(); - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java deleted file mode 100644 index c0aed7a707..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DComponent.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remote Service D. - */ -@Remotable -public interface DComponent { - - public String getName(); - public void testException() throws DException; - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java deleted file mode 100644 index 82873ed96d..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/DException.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception; - -public class DException extends Exception { - - private static final long serialVersionUID = -3819913841563109423L; - - public DException(String message) { - super(message); - } - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java deleted file mode 100644 index 1190e6900f..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/AComponentImpl.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.AComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.BComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.CComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DException; -import org.junit.Assert; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.ConversationEndedException; -import org.oasisopen.sca.NoRegisteredCallbackException; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.ServiceRuntimeException; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AComponent.class) -@Scope("CONVERSATION") -public class AComponentImpl implements AComponent { - - protected ComponentContext componentContext; - - @Reference - protected CallableReference bReference; - - @Reference - protected ServiceReference cReference; - - @Reference - protected ServiceReference dReference; - - @ConversationID - protected String cid; - - public String getName() { - return "ComponentA"; - } - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public void testConversation() { - ServiceReference cSR = componentContext.getServiceReference(CComponent.class, "cReference"); - cSR.setConversationID("AConversationID"); - Assert.assertEquals("ComponentC", cSR.getService().getName()); - - try { - Thread.sleep(1100); - cSR.getService().testConversation(); - - Assert.fail(); - } catch (InterruptedException ie) { - ie.printStackTrace(); - } catch (ConversationEndedException cee) { - // Expected - } - } - - public void testCallBack() { - ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); - bSR.setCallbackID("ComponentACallBack"); - - try { - bSR.getService().testCallback(); - Assert.fail(); - } catch (NoRegisteredCallbackException e) { - // Expected - } - } - - public boolean testServiceRuntimeException() { - try { - componentContext.getServiceReference(BComponent.class, "dummyBReference").getService().getName(); - } catch (ServiceRuntimeException sre) { - return true; - } - - return false; - } - - public boolean testServiceUnavailableException() { - return false; - } - - public boolean testCheckedException() { - try { - dReference.getService().testException(); - } catch (DException e) { - if (e.getMessage().equals("ADException")) { - return true; - } - } - - return false; - } - - @Destroy - public void destroy() { - System.out.println("This is a Destroy of AComponent .."); - } - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/BComponentImpl.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/BComponentImpl.java deleted file mode 100644 index eca4b54109..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/BComponentImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.BCallback; -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.BComponent; -import org.junit.Assert; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Service; - -@Service(BComponent.class) -public class BComponentImpl implements BComponent { - - protected ComponentContext componentContext; - - @Callback - protected BCallback callback; - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public String getName() { - return "ComponentB"; - } - - public void testCallback() { - callback = componentContext.getRequestContext().getCallback(); - callback.processResults("CallBackFromB"); - - CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); - Assert.assertEquals("ComponentACallBack", bCR.getCallbackID()); - } - - public void testRedirectedCallback() { - callback = componentContext.getRequestContext().getCallback(); - callback.processResults("RedirectedCallBackFromB"); - - CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); - Assert.assertEquals("RedirectedCallBack", bCR.getCallbackID()); - } - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/CComponentImpl.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/CComponentImpl.java deleted file mode 100644 index 57a34716e6..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/CComponentImpl.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.CComponent; -import org.junit.Assert; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.ConversationAttributes; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(CComponent.class) -@Scope("CONVERSATION") -@ConversationAttributes(maxIdleTime="1 seconds") -public class CComponentImpl implements CComponent { - - @Context - protected RequestContext requestContext; - - @ConversationID - protected String cid; - - public String getName() { - return "ComponentC"; - } - - public void testConversation() { - Assert.assertEquals("AConversationID", cid); - } - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java b/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java deleted file mode 100644 index c1f5a56a9a..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/impl/DComponentImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.exception.DException; -import org.oasisopen.sca.annotation.Service; - -@Service(DComponent.class) -public class DComponentImpl implements DComponent { - - public String getName() { - return "ComponentD"; - } - - public void testException() throws DException { - throw new DException("ADException"); - } - -} diff --git a/java/sca/vtest/java-api/apis/exception/src/main/resources/exception.composite b/java/sca/vtest/java-api/apis/exception/src/main/resources/exception.composite deleted file mode 100644 index 5bd933ce96..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/main/resources/exception.composite +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java b/java/sca/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java deleted file mode 100644 index da7b1da0fa..0000000000 --- a/java/sca/vtest/java-api/apis/exception/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/exception/ExceptionTestCase.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.exception; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * This test class tests the Exceptions described in 1.7.6, 1.7.7, 1.7.8, and 1.7.9 of the SCA Java Annotations & APIs Specification 1.0. - * This also covers 1.5 of the specification. - */ -public class ExceptionTestCase { - - protected static SCADomain domain; - protected static String compositeName = "exception.composite"; - protected static AComponent a; - protected static BComponent b; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - domain = SCADomain.newInstance(compositeName); - a = domain.getService(AComponent.class, "AComponent"); - b = domain.getService(BComponent.class, "BComponent"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - if (domain != null) { - domain.close(); - } - } - - /** - * Lines 951
    - * NoRegisteredCallbackException. - * - * @throws Exception - */ - @Test - public void testNoRegisteredCallbackException() throws Exception { - a.testCallBack(); - } - - /** - * Lines 960
    - * ServiceRuntimeException - This exception signals problems in the management of SCA component execution. - * - * @throws Exception - */ - @Test - public void testServiceRuntimeException() throws Exception { - Assert.assertTrue(a.testServiceRuntimeException()); - } - - /** - * Lines 970
    - * ServiceUnavailableException – This exception signals problems in the interaction with remote services. - * - * @throws Exception - */ - @Test - //@Ignore - public void testServiceUnavailableException() throws Exception { - domain.getComponentManager().stopComponent("AComponent"); - - try { - a.getName(); - } catch (Exception e) { - e.printStackTrace(); - } - - try { - AComponent ac = domain.getService(AComponent.class, "AComponent"); - ac.getName(); - } catch (Exception e) { - e.printStackTrace(); - } - - domain.getComponentManager().startComponent("AComponent"); - } - - /** - * Lines 983
    - * ConversationEndedException. - * - * @throws Exception - */ - @Test - public void testConversationEndedException() throws Exception { - a.testConversation(); - } - - /** - * Lines 360-361
    - * Business exceptions are thrown by the implementation of the called service method, - * and are defined as checked exceptions on the interface that types the service. - * - * @throws Exception - */ - @Test - public void testCheckedException() throws Exception { - Assert.assertTrue(a.testCheckedException()); - } - -} diff --git a/java/sca/vtest/java-api/apis/pom.xml b/java/sca/vtest/java-api/apis/pom.xml deleted file mode 100644 index 164c67ebbb..0000000000 --- a/java/sca/vtest/java-api/apis/pom.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-java-api - 2.0-SNAPSHOT - ../pom.xml - - java-api-apis - pom - - Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - - - default - - true - - - componentcontext - requestcontext - callablereference - servicereference - conversation - exception - - - - diff --git a/java/sca/vtest/java-api/apis/requestcontext/pom.xml b/java/sca/vtest/java-api/apis/requestcontext/pom.xml deleted file mode 100644 index d849fad4fe..0000000000 --- a/java/sca/vtest/java-api/apis/requestcontext/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-apis - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-apis-requestcontext - Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - RequestContext - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/AComponent.java b/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/AComponent.java deleted file mode 100644 index 6fec5cada3..0000000000 --- a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/AComponent.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext; - -/** - * Simple Service A. - */ -public interface AComponent { - - public String getName(); - - public boolean isJAASSubject(); - public String getServiceName(); - public String getCallbackResult(); - public String getServiceReferenceName(); - public String getCallbackServiceReferenceName(); - -} diff --git a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BCallback.java b/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BCallback.java deleted file mode 100644 index 4dd2088f90..0000000000 --- a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BCallback.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext; - -public interface BCallback { - - public String getCallbackName(); - public void processResults(String result); - -} diff --git a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BComponent.java b/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BComponent.java deleted file mode 100644 index d913e95a53..0000000000 --- a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/BComponent.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext; - -import org.oasisopen.sca.annotation.Callback; - -/** - * Simple Service B. - */ -@Callback(BCallback.class) -public interface BComponent { - - public String getName(); - - public void testCallback(); - public String getServiceReferenceName(); - -} diff --git a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/AComponentImpl.java b/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/AComponentImpl.java deleted file mode 100644 index 5d3cbf6e3d..0000000000 --- a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/AComponentImpl.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.impl; - -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.AComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.BCallback; -import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.BComponent; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(AComponent.class) -public class AComponentImpl implements AComponent, BCallback { - - private static Object monitor = new Object(); - private static String returnMessage = null; - private static CallableReference cbCR; - - protected ComponentContext componentContext; - - @Reference - protected BComponent bReference; - - public String getName() { - return "ComponentA"; - } - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public boolean isJAASSubject() { - return componentContext.getRequestContext().getSecuritySubject() instanceof Subject; - } - - public String getServiceName() { - return componentContext.getRequestContext().getServiceName(); - } - - public String getCallbackResult() { - ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); - String cbID = "ComponentACallBack"; - bSR.setCallbackID(cbID); - bSR.getService().testCallback(); - - // Wait for 30s max. - int count = 0; - synchronized(monitor) { - while (returnMessage == null && count++ < 30) { - try { - monitor.wait(1000L); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - - return returnMessage; - } - - public void processResults(String result) { - returnMessage = result; - cbCR = componentContext.getRequestContext().getServiceReference(); - } - - public String getServiceReferenceName() { - CallableReference aCR = componentContext.getRequestContext().getServiceReference(); - return aCR.getService().getName(); - } - - public String getCallbackServiceReferenceName() { - return cbCR.getService().getCallbackName(); - } - - public String getCallbackName() { - return "CallBackB"; - } - -} diff --git a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/BComponentImpl.java b/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/BComponentImpl.java deleted file mode 100644 index d358736daa..0000000000 --- a/java/sca/vtest/java-api/apis/requestcontext/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/impl/BComponentImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.BCallback; -import org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.BComponent; -import org.junit.Assert; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Service; - -@Service(BComponent.class) -public class BComponentImpl implements BComponent { - - protected ComponentContext componentContext; - - @Callback - protected BCallback callback; - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public String getName() { - return "ComponentB"; - } - - public void testCallback() { - callback = componentContext.getRequestContext().getCallback(); - callback.processResults("CallBackFromB"); - - CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); - Assert.assertEquals("ComponentACallBack", bCR.getCallbackID()); - } - - public String getServiceReferenceName() { - CallableReference bCR = componentContext.getRequestContext().getServiceReference(); - return bCR.getService().getName(); - } - -} diff --git a/java/sca/vtest/java-api/apis/requestcontext/src/main/resources/requestcontext.composite b/java/sca/vtest/java-api/apis/requestcontext/src/main/resources/requestcontext.composite deleted file mode 100644 index 4aa5eeb25a..0000000000 --- a/java/sca/vtest/java-api/apis/requestcontext/src/main/resources/requestcontext.composite +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/apis/requestcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/RequestContextTestCase.java b/java/sca/vtest/java-api/apis/requestcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/RequestContextTestCase.java deleted file mode 100644 index e3b761bd37..0000000000 --- a/java/sca/vtest/java-api/apis/requestcontext/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/requestcontext/RequestContextTestCase.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * This test class tests the RequestContext interface described in 1.7.2 of the - * SCA Java Annotations & APIs Specification 1.0. - */ -public class RequestContextTestCase { - - protected static String compositeName = "requestcontext.composite"; - protected static AComponent a; - protected static BComponent b; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a = ServiceFinder.getService(AComponent.class, "AComponent"); - b = ServiceFinder.getService(BComponent.class, "BComponent"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Lines 858
    - * getSecuritySubject() – Returns the JAAS Subject of the current request. - * - * @throws Exception - */ - @Ignore("TUSCANY-2608") - public void testGetSecuritySubject() throws Exception { - Assert.assertTrue(a.isJAASSubject()); - } - - /** - * Lines 860
    - * getServiceName() – Returns the name of the service on the Java - * implementation the request came in on. - * - * @throws Exception - */ - @Test - public void testGetServiceName() throws Exception { - Assert.assertEquals("AComponent", a.getServiceName()); - } - - /** - * Lines 861, 862
    - * getCallbackReference() – Returns a callable reference to the callback as - * specified by the caller. getCallback() – Returns a proxy for the callback - * as specified by the caller. - * - * @throws Exception - */ - @Test - public void testGetCallback() throws Exception { - Assert.assertEquals("CallBackFromB", a.getCallbackResult()); - } - - /** - * Lines 863
    - * getServiceReference() – When invoked during the execution of a service - * operation, this API MUST return a CallableReference that represents the - * service. When invoked during the execution of a callback operation, this - * API MUST return a CallableReference that represents the callback service. - * - * @throws Exception - */ - @Test - public void testGetServiceReference() throws Exception { - Assert.assertEquals("ComponentA", a.getServiceReferenceName()); - Assert.assertEquals("ComponentB", b.getServiceReferenceName()); - Assert.assertEquals("CallBackB", a.getCallbackServiceReferenceName()); - } - -} diff --git a/java/sca/vtest/java-api/apis/servicereference/pom.xml b/java/sca/vtest/java-api/apis/servicereference/pom.xml deleted file mode 100644 index 1ad6a9c2ec..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-apis - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-apis-servicereference - Apache Tuscany SCA Java APIs and Annotations Verification Tests - APIs - ServiceReference - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/AComponent.java b/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/AComponent.java deleted file mode 100644 index 6de5d6810e..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/AComponent.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service A. - */ -@Conversational -public interface AComponent { - - public String getName(); - - public void testConversationID(); - public String getCallbackResult(); - public void redirectCallback(); - public void testGetCallback(); - -} diff --git a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BCallback.java b/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BCallback.java deleted file mode 100644 index f8c5c1272f..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BCallback.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; - -public interface BCallback { - - public void processResults(String result); - -} diff --git a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BComponent.java b/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BComponent.java deleted file mode 100644 index 65a444d100..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/BComponent.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service B. - */ -@Conversational -@Callback(BCallback.class) -public interface BComponent { - - public String getName(); - - public void testCallback(); - public void testConversationID(); - public void testRedirectedCallback(); - -} diff --git a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/CComponent.java b/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/CComponent.java deleted file mode 100644 index 28c90e2071..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/CComponent.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; - -/** - * Simple Service C. - */ -public interface CComponent extends BCallback { - -} diff --git a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/AComponentImpl.java b/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/AComponentImpl.java deleted file mode 100644 index 86dc80a4e1..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/AComponentImpl.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.AComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.BCallback; -import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.BComponent; -import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.CComponent; -import org.junit.Assert; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AComponent.class) -@Scope("CONVERSATION") -public class AComponentImpl implements AComponent, BCallback { - - private static Object monitor = new Object(); - private static String returnMessage = null; - - protected ComponentContext componentContext; - - @Reference - protected CallableReference bReference; - - @Reference - protected ServiceReference cReference; - - @ConversationID - protected String cid; - - public String getName() { - return "ComponentA"; - } - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public void testConversationID() { - ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); - bSR.setConversationID("AConversationID"); - bSR.getService().testConversationID(); - - Assert.assertEquals("AConversationID", bSR.getConversation().getConversationID()); - } - - public String getCallbackResult() { - ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); - String cbID = "ComponentACallBack"; - bSR.setCallbackID(cbID); - bSR.getService().testCallback(); - - // Wait for 30s max. - int count = 0; - synchronized(monitor) { - while (returnMessage == null && count++ < 30) { - try { - monitor.wait(1000L); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - - return returnMessage; - } - - public void processResults(String result) { - returnMessage = result; - } - - public void redirectCallback() { - ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); - bSR.setCallbackID("RedirectedCallBack"); - bSR.setCallback(cReference); - bSR.getService().testRedirectedCallback(); - } - - public void testGetCallback() { - ServiceReference bSR = componentContext.getServiceReference(BComponent.class, "bReference"); - bSR.setCallback(cReference); - Assert.assertEquals(cReference, bSR.getCallback()); - - TestObject aCallback = new TestObject(); - bSR.setCallback(aCallback); - Assert.assertEquals(aCallback, bSR.getCallback()); - Assert.assertEquals(1, ((TestObject) bSR.getCallback()).getId()); - - TestObject bCallback = new TestObject(); - bSR.setCallback(bCallback); - Assert.assertEquals(bCallback, bSR.getCallback()); - Assert.assertEquals(2, ((TestObject) bSR.getCallback()).getId()); - } - -} diff --git a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/BComponentImpl.java b/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/BComponentImpl.java deleted file mode 100644 index c5af80291e..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/BComponentImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.BCallback; -import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.BComponent; -import org.junit.Assert; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BComponent.class) -@Scope("CONVERSATION") -public class BComponentImpl implements BComponent { - - protected ComponentContext componentContext; - - @Callback - protected BCallback callback; - - @ConversationID - protected String cid; - - @Context - public void setComponentContext(ComponentContext context) { - this.componentContext = context; - } - - public String getName() { - return "ComponentB"; - } - - public void testCallback() { - callback = componentContext.getRequestContext().getCallback(); - callback.processResults("CallBackFromB"); - - CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); - Assert.assertEquals("ComponentACallBack", bCR.getCallbackID()); - } - - public void testConversationID() { - Assert.assertEquals("AConversationID", cid); - } - - public void testRedirectedCallback() { - callback = componentContext.getRequestContext().getCallback(); - callback.processResults("RedirectedCallBackFromB"); - - CallableReference bCR = componentContext.getRequestContext().getCallbackReference(); - Assert.assertEquals("RedirectedCallBack", bCR.getCallbackID()); - } - -} diff --git a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/CComponentImpl.java b/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/CComponentImpl.java deleted file mode 100644 index 563d3ceab6..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/CComponentImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.impl; - -import org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.CComponent; -import org.junit.Assert; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Service; - -@Service(CComponent.class) -public class CComponentImpl implements CComponent { - - @Context - protected RequestContext requestContext; - - public void processResults(String result) { - Assert.assertEquals("RedirectedCallBackFromB", result); - } - -} diff --git a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/TestObject.java b/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/TestObject.java deleted file mode 100644 index ba3edf13ae..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/main/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/impl/TestObject.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference.impl; - -public class TestObject { - - public static int count = 0; - - private int id; - - public TestObject() { - count++; - id = count; - } - - public int getId() { - return id; - } - -} diff --git a/java/sca/vtest/java-api/apis/servicereference/src/main/resources/servicereference.composite b/java/sca/vtest/java-api/apis/servicereference/src/main/resources/servicereference.composite deleted file mode 100644 index 9bded61947..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/main/resources/servicereference.composite +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/apis/servicereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/ServiceReferenceTestCase.java b/java/sca/vtest/java-api/apis/servicereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/ServiceReferenceTestCase.java deleted file mode 100644 index fda917d60a..0000000000 --- a/java/sca/vtest/java-api/apis/servicereference/src/test/java/org/apache/tuscany/sca/vtest/javaapi/apis/servicereference/ServiceReferenceTestCase.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.apis.servicereference; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * This test class tests the ServiceReference interface described in 1.7.4 of - * the SCA Java Annotations & APIs Specification 1.0. - */ -public class ServiceReferenceTestCase { - - protected static String compositeName = "servicereference.composite"; - protected static AComponent a; - protected static BComponent b; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a = ServiceFinder.getService(AComponent.class, "AComponent"); - b = ServiceFinder.getService(BComponent.class, "BComponent"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Lines 915-916
    - * getConversationID() - Returns the id supplied by the user that will be - * associated with conversations initiated through this reference.
    - * setConversationID(Object conversationId) – Set the id to associate with - * any conversation started through this reference. If the value supplied is - * null then the id will be generated by the implementation. Throws an - * IllegalStateException if a conversation is currently associated with this - * reference. - * - * @throws Exception - */ - @Test - public void testConversationID() throws Exception { - a.testConversationID(); - } - - /** - * Lines 917
    - * setCallbackID(Object callbackID) – Sets the callback ID. - * - * @throws Exception - */ - @Test - public void testSetCallbackID() throws Exception { - Assert.assertEquals("CallBackFromB", a.getCallbackResult()); - } - - /** - * Lines 918
    - * getCallback() – Returns the callback object. - * - * @throws Exception - */ - @Test - public void testGetCallback() throws Exception { - a.testGetCallback(); - } - - /** - * Lines 919
    - * setCallback(Object callback) – Sets the callback object. - * - * @throws Exception - */ - @Test - public void testSetCallback() throws Exception { - a.redirectCallback(); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/pom.xml b/java/sca/vtest/java-api/conversation/callback/pom.xml deleted file mode 100644 index 656ee9c3cd..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-conversation-callback - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation - Callback - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AService.java deleted file mode 100644 index e78736d4df..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; - -/** - * Simple Service - */ -public interface AService { - - public void testCallback(); - - public void testCallback2(); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AServiceCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AServiceCallback.java deleted file mode 100644 index f4271d0d92..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/AServiceCallback.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -@Conversational -public interface AServiceCallback { - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BService.java deleted file mode 100644 index d7ecbb7427..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BService.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -@Conversational -@Callback(AServiceCallback.class) -public interface BService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BServiceCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BServiceCallback.java deleted file mode 100644 index be7ea97eac..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/BServiceCallback.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -@Conversational -public interface BServiceCallback { - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CService.java deleted file mode 100644 index 19a8b86f28..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CService.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -@Conversational -@Callback(BServiceCallback.class) -public interface CService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/Utilities.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/Utilities.java deleted file mode 100644 index 15672f9ee0..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/Utilities.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback; - -public class Utilities { - - public static void delayQuarterSecond() { - try { - Thread.sleep(250);// millisecs - } catch (InterruptedException ex) { - throw new Error(ex); - } - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/AServiceCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/AServiceCallback.java deleted file mode 100644 index 31479f1848..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/AServiceCallback.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -@Conversational -public interface AServiceCallback { - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/BService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/BService.java deleted file mode 100644 index b6359f348b..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/BService.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -@Conversational -@Callback(AServiceCallback.class) -public interface BService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); - - public void testCallBack2(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/AServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/AServiceImpl.java deleted file mode 100644 index 9e8b64e3b9..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/AServiceImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.BService; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -@Scope("CONVERSATION") -public class AServiceImpl implements AService, AServiceCallback { - - @Reference - protected ServiceReference b; - - private String someState; - - public void callBack(String someState) { - System.out.println("A-callback called with this state => " + someState); - this.someState = someState; - } - - public void testCallback() { - b.getService().testCallBack("Some string"); - int count = 4; - while (someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (someState == null) - Assert.fail("Callback not received by this instance"); - } - - public void testCallback2() { - b.getService().testCallBack2("Some string"); - int count = 4; - while (someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (someState == null) - Assert.fail("Callback not received by this instance"); - } -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/BServiceImpl.java deleted file mode 100644 index acf262512e..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/accessing/impl/BServiceImpl.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.accessing.BService; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl implements BService { - - String someState; - - @Callback - protected CallableReference callback; - - @Context - protected ComponentContext componentContext; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testCallBack(String someState) { - callback.getService().callBack(someState); - } - - public void testCallBack2(String someState) { - AServiceCallback callback = componentContext.getRequestContext().getCallback(); - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/AServiceCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/AServiceCallback.java deleted file mode 100644 index b1439770da..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/AServiceCallback.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -@Conversational -public interface AServiceCallback { - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/BService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/BService.java deleted file mode 100644 index dae4152333..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/BService.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -@Conversational -@Callback(AServiceCallback.class) -public interface BService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/CustomCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/CustomCallback.java deleted file mode 100644 index d1a30fd305..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/CustomCallback.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -@Conversational -public interface CustomCallback { - - public void someMethod(); - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/AServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/AServiceImpl.java deleted file mode 100644 index 7732b3865f..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/AServiceImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.CustomCallback; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -@Scope("CONVERSATION") -public class AServiceImpl implements AService { - - @Reference - protected ServiceReference b; - - @Reference - protected CustomCallback customCallback; - - protected static String someState; - - public void testCallback() { - b.setCallback(customCallback); - b.getService().testCallBack("Some string"); - int count = 4; - while (someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (someState == null) - Assert.fail("Callback not received by this instance"); - } - - public void testCallback2() { - Assert.fail("Should never get here"); - - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/BServiceImpl.java deleted file mode 100644 index 9bda00413b..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/BServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.BService; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl implements BService { - - String someState; - - @Callback - protected AServiceCallback callback; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testCallBack(String someState) { - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/CustomCallbackImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/CustomCallbackImpl.java deleted file mode 100644 index 1bbc1fa4eb..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/custom/impl/CustomCallbackImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.custom.CustomCallback; -import org.oasisopen.sca.annotation.Scope; - -@Scope("CONVERSATION") -public class CustomCallbackImpl implements CustomCallback, AServiceCallback { - - public void someMethod() { - System.out.println("Custom-callback some method called"); - } - - public void callBack(String someState) { - System.out.println("Custom-callback called with this state => " + someState); - AServiceImpl.someState = someState; - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/AServiceCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/AServiceCallback.java deleted file mode 100644 index 6a66e73569..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/AServiceCallback.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -@Conversational -public interface AServiceCallback { - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/BService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/BService.java deleted file mode 100644 index 24dbad3d4a..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/BService.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -@Conversational -@Callback(AServiceCallback.class) -public interface BService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); - - public void testCallBack2(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/AServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/AServiceImpl.java deleted file mode 100644 index b9785fa657..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/AServiceImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.BService; -import org.junit.Assert; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -@Scope("CONVERSATION") -public class AServiceImpl implements AService, AServiceCallback { - - @Reference - protected ServiceReference b; - - @Context - protected RequestContext requestContext; - - private String someState; - - public void callBack(String someState) { - System.out.println("A-callback called with this state => " + someState); - Assert.assertNotNull(requestContext.getServiceReference().getCallbackID()); - this.someState = someState; - } - - public void testCallback() { - b.getService().testCallBack("Some string"); - int count = 4; - while (someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (someState == null) - Assert.fail("Callback not received by this instance"); - } - - public void testCallback2() { - b.getService().testCallBack2("Some string"); - int count = 4; - while (someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (someState == null) - Assert.fail("Callback not received by this instance"); - } -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/BServiceImpl.java deleted file mode 100644 index dc546a81a0..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/id/impl/BServiceImpl.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.id.BService; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl implements BService { - - String someState; - - @Callback - protected CallableReference callback; - - @Context - protected ComponentContext componentContext; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testCallBack(String someState) { - callback.getService().callBack(someState); - } - - public void testCallBack2(String someState) { - AServiceCallback callback = componentContext.getRequestContext().getCallback(); - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/AServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/AServiceImpl.java deleted file mode 100644 index 01260c67f1..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/AServiceImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -@Scope("CONVERSATION") -public class AServiceImpl implements AService, AServiceCallback { - - @Reference - protected ServiceReference b; - - private String someState; - - public void callBack(String someState) { - System.out.println("A-callback called with this state => " + someState); - this.someState = someState; - } - - public void testCallback() { - b.getService().testCallBack("Some string"); - int count = 4; - while (someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (someState == null) - Assert.fail("Callback not received by this instance"); - } - - public void testCallback2() { - Assert.fail("Should not be called"); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/BServiceImpl.java deleted file mode 100644 index 78dfe7221f..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/BServiceImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl implements BService, BServiceCallback { - - String someState; - - @Callback - protected AServiceCallback callback; - - @Reference - protected ServiceReference c; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void callBack(String someState) { - System.out.println("B-callback called with this state => " + someState); - this.someState = someState; - } - - public void testCallBack(String someState) { - - c.getService().testCallBack(someState); - int count = 4; - while (this.someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (this.someState == null) - Assert.fail("Callback not received by this instance"); - - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/CServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/CServiceImpl.java deleted file mode 100644 index 6120b815d5..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/impl/CServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -@Scope("CONVERSATION") -public class CServiceImpl implements CService { - - String someState; - - @Callback - protected BServiceCallback callback; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testCallBack(String someState) { - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/AServiceCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/AServiceCallback.java deleted file mode 100644 index 50feee41d6..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/AServiceCallback.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * - */ -@Conversational -public interface AServiceCallback { - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BService.java deleted file mode 100644 index 67dd77ce7b..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Local Service - */ -@Conversational -@Callback(AServiceCallback.class) -public interface BService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BServiceCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BServiceCallback.java deleted file mode 100644 index fd19c8d7b1..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/BServiceCallback.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local; - -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service - */ -@Conversational -public interface BServiceCallback { - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/CService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/CService.java deleted file mode 100644 index c3b2e04ff2..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/CService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service - */ -@Conversational -@Callback(BServiceCallback.class) -public interface CService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/AServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/AServiceImpl.java deleted file mode 100644 index 0298b39825..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/AServiceImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.BService; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -@Scope("CONVERSATION") -public class AServiceImpl implements AService, AServiceCallback { - - @Reference - protected ServiceReference b; - - private String someState; - - public void callBack(String someState) { - System.out.println("A-callback called with this state => " + someState); - this.someState = someState; - } - - public void testCallback() { - b.getService().testCallBack("Some local string"); - int count = 4; - while (someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (someState == null) - Assert.fail("Callback not received by this instance"); - } - - public void testCallback2() { - Assert.fail("Not implemented"); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/BServiceImpl.java deleted file mode 100644 index 4374306609..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/BServiceImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.CService; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl implements BService, BServiceCallback { - - String someState; - - @Callback - protected AServiceCallback callback; - - @Reference - protected ServiceReference c; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void callBack(String someState) { - System.out.println("B-callback called with this state => " + someState); - this.someState = someState; - } - - public void testCallBack(String someState) { - - c.getService().testCallBack(someState); - int count = 4; - while (this.someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (this.someState == null) - Assert.fail("Callback not received by this instance"); - - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/CServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/CServiceImpl.java deleted file mode 100644 index d487c94fd3..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/local/impl/CServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.local.CService; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -@Scope("CONVERSATION") -public class CServiceImpl implements CService { - - String someState; - - @Callback - protected BServiceCallback callback; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testCallBack(String someState) { - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/CService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/CService.java deleted file mode 100644 index 164397bf6b..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/CService.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; - -/** - * Simple Service - */ -@Conversational -@Callback(BServiceCallback.class) -public interface CService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/BServiceImpl.java deleted file mode 100644 index d71c89d565..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/BServiceImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed.CService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl implements BService, BServiceCallback { - - String someState; - - @Callback - protected AServiceCallback callback; - - @Reference - protected ServiceReference c; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void callBack(String someState) { - System.out.println("B-callback called with this state => " + someState); - this.someState = someState; - } - - public void testCallBack(String someState) { - - c.getService().testCallBack(someState); - int count = 4; - while (this.someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (this.someState == null) - Assert.fail("Callback not received by this instance"); - - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/CServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/CServiceImpl.java deleted file mode 100644 index 5dcaf9c06f..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/mixed/impl/CServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.mixed.CService; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -@Scope("CONVERSATION") -public class CServiceImpl implements CService { - - String someState; - - @Callback - protected BServiceCallback callback; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testCallBack(String someState) { - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback.java deleted file mode 100644 index 4b2ee3a838..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -@Conversational -public interface AServiceCallback { - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback2.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback2.java deleted file mode 100644 index 88059ccb45..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/AServiceCallback2.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -@Conversational -public interface AServiceCallback2 { - - public void callBack2(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService.java deleted file mode 100644 index 691dc80632..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -@Conversational -@Callback(AServiceCallback.class) -public interface BService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService2.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService2.java deleted file mode 100644 index 7c691efa8d..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/BService2.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -@Conversational -@Callback(AServiceCallback2.class) -public interface BService2 { - - public void setState(String someState); - - public String getState(); - - public void testCallBack2(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/AServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/AServiceImpl.java deleted file mode 100644 index 272484a6f0..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/AServiceImpl.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.AServiceCallback2; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.BService2; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -@Scope("CONVERSATION") -public class AServiceImpl implements AService, AServiceCallback , AServiceCallback2 { - - @Reference - protected ServiceReference b; - - @Reference - protected ServiceReference b2; - - - private String someState; - private String someState2; - - public void callBack(String someState) { - System.out.println("A-callback called with this state => " + someState); - this.someState = someState; - } - - public void callBack2(String someState) { - System.out.println("A-callback2 called with this state => " + someState); - this.someState2 = someState; - } - - public void testCallback() { - b.getService().testCallBack("Some string"); - int count = 4; - while (someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (someState == null) - Assert.fail("Callback not received by this instance"); - } - - public void testCallback2() { - b2.getService().testCallBack2("Some string"); - int count = 4; - while (someState2 == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (someState2 == null) - Assert.fail("Callback not received by this instance"); - } -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/BServiceImpl.java deleted file mode 100644 index d9c4866466..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/multi/impl/BServiceImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.AServiceCallback2; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.multi.BService2; -import org.junit.Assert; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(interfaces= {BService.class,BService2.class}) -@Scope("CONVERSATION") -public class BServiceImpl implements BService, BService2 { - - String someState; - - @Callback - protected AServiceCallback callback; - - @Callback - protected AServiceCallback2 callback2; - - @Callback - protected AServiceCallback2 callback3; - - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testCallBack(String someState) { - callback.callBack(someState); - } - - public void testCallBack2(String someState) { - Assert.assertNotNull(callback3); //Spec lines 670,671 - callback2.callBack2(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/BServiceCallback.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/BServiceCallback.java deleted file mode 100644 index 1c2d20ff94..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/BServiceCallback.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -public interface BServiceCallback { - - public void callBack(String someState); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/CService.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/CService.java deleted file mode 100644 index 5dd429077d..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/CService.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service - */ -@Remotable -@Conversational -@Callback(BServiceCallback.class) -public interface CService { - - public void setState(String someState); - - public String getState(); - - public void testCallBack(String string); - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl.java deleted file mode 100644 index b263eb869b..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl implements BService, BServiceCallback { - - String someState; - - @Callback - protected AServiceCallback callback; - - @Reference - protected ServiceReference c; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void callBack(String someState) { - System.out.println("B-callback called with this state => " + someState); - this.someState = someState; - } - - public void testCallBack(String someState) { - - c.getService().testCallBack(someState); - int count = 4; - while (this.someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (this.someState != null) - Assert.fail("Callback should NOT have been received by this instance"); - - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl2.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl2.java deleted file mode 100644 index 4f08ac7a1b..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl2.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.junit.Assert; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl2 implements BService, BServiceCallback { - - String someState; - - @Context - protected RequestContext rc; - - @Callback - protected AServiceCallback callback; - - @Reference - protected ServiceReference c; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void callBack(String someState) { - System.out.println("B-callback called with this state => " + someState); - this.someState = someState; - Assert.assertSame("1234", rc.getServiceReference().getCallbackID()); - } - - public void testCallBack(String someState) { - - c.setCallbackID("1234"); - - c.getService().testCallBack(someState); - int count = 4; - while (this.someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (this.someState != null) - Assert.fail("Callback should NOT have been received by this instance"); - - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl3.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl3.java deleted file mode 100644 index 11c896a06d..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/BServiceImpl3.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.Utilities; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl3 implements BService, BServiceCallback { - - String someState; - - @Callback - protected AServiceCallback callback; - - @Reference - protected ServiceReference c; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void callBack(String someState) { - System.out.println("B-callback called with this state => " + someState); - this.someState = someState; - Assert.assertSame(null, callback); - } - - public void testCallBack(String someState) { - - c.getService().testCallBack(someState); - int count = 4; - while (this.someState == null && count > 0) { - Utilities.delayQuarterSecond(); - count--; - } - if (this.someState != null) - Assert.fail("Callback should NOT have been received by this instance"); - - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/CServiceImpl.java b/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/CServiceImpl.java deleted file mode 100644 index 00984ae565..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/stateless/impl/CServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.BServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.callback.stateless.CService; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -@Scope("CONVERSATION") -public class CServiceImpl implements CService { - - String someState; - - @Callback - protected BServiceCallback callback; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testCallBack(String someState) { - callback.callBack(someState); - } - -} diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-accessing.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-accessing.composite deleted file mode 100644 index 802c9c30db..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-accessing.composite +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-custom.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-custom.composite deleted file mode 100644 index e66ea5d537..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-custom.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-id.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-id.composite deleted file mode 100644 index 4d93d2279d..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-id.composite +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-local.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-local.composite deleted file mode 100644 index cd8c589a59..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-local.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-mixed.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-mixed.composite deleted file mode 100644 index d2d9956103..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-mixed.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-multi.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-multi.composite deleted file mode 100644 index 6c69330ce5..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-multi.composite +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackfieldnull.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackfieldnull.composite deleted file mode 100644 index 72c08e8344..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackfieldnull.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackid.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackid.composite deleted file mode 100644 index 144f7f3d00..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless-callbackid.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless.composite deleted file mode 100644 index ace06b245c..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback-stateless.composite +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback.composite b/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback.composite deleted file mode 100644 index 4623f17ca2..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/main/resources/callback.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/callback/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CallbackTestCase.java b/java/sca/vtest/java-api/conversation/callback/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CallbackTestCase.java deleted file mode 100644 index 2680370c5b..0000000000 --- a/java/sca/vtest/java-api/conversation/callback/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/callback/CallbackTestCase.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.sca.vtest.javaapi.conversation.callback; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.After; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * - */ -public class CallbackTestCase { - - protected static AService aService = null; - - @Before - public void init() throws Exception { - try { - System.out.println("Setting up"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @After - public void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } - - /** - * Lines 529-610 - *

    - * A callback service is a service that is used for asynchronous - * communication from a service provider back to its client in contrast to - * the communication through return values from synchronous operations. - * Callbacks are used by bidirectional services, which are services that - * have two interfaces: • an interface for the provided service • a callback - * interface that must be provided by the client - *

    - * Callbacks may be used for both remotable and local services. Either both - * interfaces of a bidirectional service must be remotable, or both must be - * local. It is illegal to mix the two. There are two basic forms of - * callbacks: stateless callbacks and stateful callbacks. A callback - * interface is declared by using the "@Callback" annotation on a remotable - * service interface, which takes the Java Class object of the interface as - * a parameter. The annotation may also be applied to a method or to a field - * of an implementation, which is used in order to have a callback injected, - * as explained in the next section. - *

    - * 1.6.7.1. Stateful Callbacks A stateful callback represents a specific - * implementation instance of the component that is the client of the - * service. The interface of a stateful callback should be marked as - * conversational. The following example interfaces define an interaction - * over stateful callback. - *

    - * An implementation of the service in this example could use the - * "@Callback" annotation to request that a stateful callback be injected. - * The following is a fragment of an implementation of the example service. - * In this example, the request is passed on to some other component, so - * that the example service acts essentially as an intermediary. Because the - * service is conversation scoped, the callback will still be available when - * the backend service sends back its asynchronous response. - *

    - * This fragment must come from an implementation that offers two services, - * one that it offers to it clients (MyService) and one that is used for - * receiving callbacks from the back end (MyServiceCallback). The client of - * this service would also implement the methods defined in - * MyServiceCallback. - *

    - * Stateful callbacks support some of the same use cases as are supported by - * the ability to pass service references as parameters. The primary - * difference is that stateful callbacks do not require any additional - * parameters be passed with service operations. This can be a great - * convenience. If the service has many operations and any of those - * operations could be the first operation of the conversation, it would be - * unwieldy to have to take a callback parameter as part of every operation, - * just in case it is the first operation of the conversation. It is also - * more natural than requiring the application developers to invoke an - * explicit operation whose only purpose is to pass the callback object that - * should be used. - *

    - * This tests the *remote* bidirectional interfaces option - */ - @Test - public void statefulCallback() throws Exception { - System.out.println("Setting up for callback tests"); - ServiceFinder.init("callback.composite"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - } - - /** - * Lines 529-610 - *

    - * A callback service is a service that is used for asynchronous - * communication from a service provider back to its client in contrast to - * the communication through return values from synchronous operations. - * Callbacks are used by bidirectional services, which are services that - * have two interfaces: • an interface for the provided service • a callback - * interface that must be provided by the client - *

    - * Callbacks may be used for both remotable and local services. Either both - * interfaces of a bidirectional service must be remotable, or both must be - * local. It is illegal to mix the two. There are two basic forms of - * callbacks: stateless callbacks and stateful callbacks. A callback - * interface is declared by using the "@Callback" annotation on a remotable - * service interface, which takes the Java Class object of the interface as - * a parameter. The annotation may also be applied to a method or to a field - * of an implementation, which is used in order to have a callback injected, - * as explained in the next section. - *

    - * 1.6.7.1. Stateful Callbacks A stateful callback represents a specific - * implementation instance of the component that is the client of the - * service. The interface of a stateful callback should be marked as - * conversational. The following example interfaces define an interaction - * over stateful callback. - *

    - * An implementation of the service in this example could use the - * "@Callback" annotation to request that a stateful callback be injected. - * The following is a fragment of an implementation of the example service. - * In this example, the request is passed on to some other component, so - * that the example service acts essentially as an intermediary. Because the - * service is conversation scoped, the callback will still be available when - * the backend service sends back its asynchronous response. - *

    - * This fragment must come from an implementation that offers two services, - * one that it offers to it clients (MyService) and one that is used for - * receiving callbacks from the back end (MyServiceCallback). The client of - * this service would also implement the methods defined in - * MyServiceCallback. - *

    - * Stateful callbacks support some of the same use cases as are supported by - * the ability to pass service references as parameters. The primary - * difference is that stateful callbacks do not require any additional - * parameters be passed with service operations. This can be a great - * convenience. If the service has many operations and any of those - * operations could be the first operation of the conversation, it would be - * unwieldy to have to take a callback parameter as part of every operation, - * just in case it is the first operation of the conversation. It is also - * more natural than requiring the application developers to invoke an - * explicit operation whose only purpose is to pass the callback object that - * should be used. - *

    - * This tests the *local* bidirectional interfaces option - */ - @Test - public void localstatefulCallback() throws Exception { - System.out.println("Setting up for local callback tests"); - ServiceFinder.init("callback-local.composite"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - } - - /** - * Lines 534, 535 - *

    - * Callbacks may be used for both remotable and local services. Either both - * interfaces of a bidirectional service must be remotable, or both must be - * local. It is illegal to mix the two. - *

    - * In this test configuration BServiceCallback is remotable and CService is - * not - */ - @Test(expected = ServiceRuntimeException.class) - @Ignore("TUSCANY-2291") - public void statefulMixedCallback() throws Exception { - System.out.println("Setting up for mixed local/remote callback tests"); - ServiceFinder.init("callback-mixed.composite"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - } - - /** - * Lines 613-615 - *

    - * A stateless callback interface is a callback whose interface is not - * marked as conversational. Unlike stateless services, the client of that - * uses stateless callbacks will not have callback methods routed to an - * instance of the client that contains any state that is relevant to the - * conversation. - *

    - * This test is identical in structure to the stateful test except that - * BServiceCallback is not conversational and we test that the callback is - * NOT routed to the same instance. - */ - @Test - public void statelessCallback() throws Exception { - System.out.println("Setting up for stateless callback tests"); - ServiceFinder.init("callback-stateless.composite"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - } - - /** - * Lines 616-621 - *

    - * The only information that the client has to work with (other than the - * parameters of the callback method) is a callback ID object that is passed - * with requests to the service and is guaranteed to be returned with any - * callback. - *

    - * The following is a repeat of the client code fragment above, but with the - * assumption that in this case the MyServiceCallback is stateless. The - * client in this case needs to set the callback ID before invoking the - * service and then needs to get the callback ID when the response is - * received. - *

    - * Lines 747-755 - *

    - * The identity that is used to identify a callback request is, by default, - * generated by the system. However, it is possible to provide an - * application specified identity that should be used to identify the - * callback by calling the ServiceReference.setCallbackID() method. This can - * be used even either stateful or stateless callbacks. The identity will be - * sent to the service provider, and the binding must guarantee that the - * service provider will send the ID back when any callback method is - * invoked. The callback identity has the same restrictions as the - * conversation ID. It should either be a string or an object that can be - * serialized into XML. Bindings determine the particular mechanisms to use - * for transmission of the identity and these may lead to further - * restrictions when using a given binding. - *

    - * TODO - Need to add explicit test back to stateful for 747-755 - */ - @Test - public void statelessCallback2() throws Exception { - System.out.println("Setting up for stateless callback id tests"); - ServiceFinder.init("callback-stateless-callbackid.composite"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - - } - - /** - * Lines 650-654 - *

    - * The difference for stateless services is that the callback field would - * not be available if the component is servicing a request for anything - * other than the original client. So, the technique used in the previous - * section, where there was a response from the backend Service which was - * forwarded as a callback from MyService would not work because the - * callback field would be null when the message from the backend system was - * received. - *

    - */ - @Test - public void statelessCallback3() throws Exception { - System.out.println("Setting up for stateless callback ref null tests"); - ServiceFinder.init("callback-stateless-callbackfieldnull.composite"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - - } - - /** - * Lines 658-669 - *

    - * Since it is possible for a single implementation class to implement - * multiple services, it is also possible for callbacks to be defined for - * each of the services that it implements. The service implementation can - * include an injected field for each of its callbacks. The runtime injects - * the callback onto the appropriate field based on the type of the - * callback. The following shows the declaration of two fields, each of - * which corresponds to a particular service offered by the implementation. - *

    - * Lines 670,671 - *

    - * If a single callback has a type that is compatible with multiple declared - * callback fields, then all of them will be set. - */ - @Test - public void statefulMultiBidirectional() throws Exception { - System.out.println("Setting up for multi-bidirectional interfaces tests"); - ServiceFinder.init("callback-multi.composite"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - aService.testCallback2(); // Includes test for 670,671 - - } - - /** - * Lines 675-706 - *

    - * In addition to injecting a reference to a callback service, it is also - * possible to obtain a reference to a Callback instance by annotating a - * field or method with the "@Callback" annotation. A reference implementing - * the callback service interface may be obtained using - * CallableReference.getService(). The following fragments come from a - * service implementation that uses the callback API: - *

    - * Alternatively a callback may be retrieved programmatically using the - * RequestContext API. The snippet below show how to retrieve a callback in - * a method programmatically: - *

    - * Lines 695, 696 - *

    - * Alternatively a callback may be retrieved programmatically using the - * RequestContext API. The snippet below show how to retrieve a callback in - * a method programmatically: - */ - @Test - public void accessingCallbacks() throws Exception { - System.out.println("Setting up for callback accessing tests"); - ServiceFinder.init("callback-accessing.composite"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - aService.testCallback2(); // Lines 695-696 - - } - - /** - * Lines 708-724 - *

    - * On the client side, the service that implements the callback can access - * the callback ID (i.e. reference parameters) that was returned with the - * callback operation also by accessing the request context, as follows: - *

    - * On the client side, the object returned by the getServiceReference() - * method represents the service reference that was used to send the - * original request. The object returned by getCallbackID() represents the - * identity associated with the callback, which may be a single String or - * may be an object (as described below in “Customizing the Callback - * Identity”). - */ - @Test - public void callbackId() throws Exception { - System.out.println("Setting up for callback id tests"); - ServiceFinder.init("callback-id.composite"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - - } - - /** - * Lines 728-732 - *

    - * By default, the client component of a service is assumed to be the - * callback service for the bidirectional service. However, it is possible - * to change the callback by using the ServiceReference.setCallback() - * method. The object passed as the callback should implement the interface - * defined for the callback, including any additional SCA semantics on that - * interface such as its scope and whether or not it is remotable. - *

    - * TODO - Need to complete testing of 1.6.7.5 after resolution of t-2312 - */ - @Test - public void customCallback() throws Exception { - System.out.println("Setting up for custom callback tests; create domain instance"); - ServiceFinder.init("callback-custom.composite"); - System.out.println("Setting up for custom callback tests; get AService handle"); - aService = ServiceFinder.getService(AService.class, "AComponent"); - aService.testCallback(); - - } -} diff --git a/java/sca/vtest/java-api/conversation/id/pom.xml b/java/sca/vtest/java-api/conversation/id/pom.xml deleted file mode 100644 index 68bfdc7fe1..0000000000 --- a/java/sca/vtest/java-api/conversation/id/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-conversation-id - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation - ID - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/AService.java b/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/AService.java deleted file mode 100644 index 39719539ba..0000000000 --- a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/AService.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.id; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -public interface AService { - - public void testAnnotation(); - - public void testAnnotation2(); - - public void testAnnotation3(); - - public void testAnnotation4(); - - public void testAnnotation5(); - -} diff --git a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/BService.java b/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/BService.java deleted file mode 100644 index b5911101b8..0000000000 --- a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/BService.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.id; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Local Service - */ -@Remotable -@Conversational -public interface BService { - - public void setState(String someState); - - public String getState(); - - public void testAnnotation(); - - public void testAnnotation2(); - - public void testAnnotation3(); - -} diff --git a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CService.java b/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CService.java deleted file mode 100644 index 1730f863b5..0000000000 --- a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.id; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Local Service - */ -@Remotable -@Conversational -public interface CService { - - public void setState(String someState); - - public String getState(); - - public void testAnnotation(); - -} diff --git a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CustomConversationId.java b/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CustomConversationId.java deleted file mode 100644 index ac40c56ee6..0000000000 --- a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/CustomConversationId.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.id; - - -public class CustomConversationId { - - int id; - String name; - - public CustomConversationId(int id, String name) { - super(); - this.id = id; - this.name = name; - } - - public String getName() { - return name; - } - - public int getNumber() { - return id; - } - - public void setName(String someName) { - name = someName; - } - - public void setNumber(int someInt) { - id = someInt; - } - - public String toString() { - return "id->" + id + " name->" + name; - } - -} diff --git a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/AServiceImpl.java b/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/AServiceImpl.java deleted file mode 100644 index bac842dfca..0000000000 --- a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/AServiceImpl.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.id.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.id.AService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.id.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.id.CService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.id.CustomConversationId; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -@Scope("CONVERSATION") -public class AServiceImpl implements AService { - - @Reference - protected ServiceReference b; - - @Reference - protected ServiceReference c; - - public void testAnnotation() { - b.getService().testAnnotation(); - } - - public void testAnnotation2() { - b.getService().testAnnotation2(); - } - - public void testAnnotation3() { - b.getService().testAnnotation3(); - } - - public void testAnnotation4() { - CustomConversationId id = new CustomConversationId (1, "One"); - c.setConversationID(id); - c.getService().testAnnotation(); - } - - public void testAnnotation5() { - b.getService().getState(); - Assert.assertNotNull(b.getConversation().getConversationID()); -// Assert.assertNotNull(b.getConversationID()); - - CustomConversationId id = new CustomConversationId (1, "One"); - c.setConversationID(id); - Assert.assertSame(id, c.getConversationID()); - } -} diff --git a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/BServiceImpl.java deleted file mode 100644 index 3c4eea4bc9..0000000000 --- a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/BServiceImpl.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.id.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.id.BService; -import org.junit.Assert; -import org.oasisopen.sca.annotation.ConversationAttributes; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -@ConversationAttributes(maxAge = "1 seconds") -public class BServiceImpl implements BService { - - String someState; - - @ConversationID - protected String conversationID; - - @ConversationID - protected Object conversationID2; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testAnnotation() { - Assert.assertNotNull(conversationID); - System.out.println(conversationID); - } - - public void testAnnotation2() { - Assert.assertNotNull(conversationID2); - System.out.println(conversationID); - } - - public void testAnnotation3() { - Assert.assertTrue(conversationID2 instanceof String); - System.out.println(conversationID); - } - -} diff --git a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/CServiceImpl.java b/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/CServiceImpl.java deleted file mode 100644 index 1e5a459954..0000000000 --- a/java/sca/vtest/java-api/conversation/id/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/impl/CServiceImpl.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.id.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.id.CService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.id.CustomConversationId; -import org.junit.Assert; -import org.oasisopen.sca.annotation.ConversationID; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -@Scope("CONVERSATION") -public class CServiceImpl implements CService { - - String someState; - - @ConversationID - protected Object conversationID; - - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void testAnnotation() { - Assert.assertNotNull(conversationID); - Assert.assertTrue(conversationID instanceof CustomConversationId); - - Assert.assertSame(1, ((CustomConversationId)conversationID).getNumber()); - Assert.assertSame("One", ((CustomConversationId)conversationID).getName()); - System.out.println(conversationID); - } - -} diff --git a/java/sca/vtest/java-api/conversation/id/src/main/resources/conversation-id.composite b/java/sca/vtest/java-api/conversation/id/src/main/resources/conversation-id.composite deleted file mode 100644 index 25e7154fca..0000000000 --- a/java/sca/vtest/java-api/conversation/id/src/main/resources/conversation-id.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/id/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/ConversationIDTestCase.java b/java/sca/vtest/java-api/conversation/id/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/ConversationIDTestCase.java deleted file mode 100644 index d3cb107a61..0000000000 --- a/java/sca/vtest/java-api/conversation/id/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/id/ConversationIDTestCase.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.id; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * - */ -public class ConversationIDTestCase { - - protected static String compositeName = "conversation-id.composite"; - protected static AService aService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Lines 504, 505 - *

    - * If a protected or public field or setter method is annotated with - * "@ConversationID", then the conversation ID for the conversation is - * injected onto the field - */ - @Test - public void idAnnotation() throws Exception { - aService.testAnnotation(); - } - - /** - * Lines 505 - *

    - * The type of the field is not necessarily String - */ - @Test - public void idAnnotation2() throws Exception { - aService.testAnnotation2(); - } - - /** - * Lines 505, 506 - *

    - * System generated conversation IDs are always strings - */ - @Test - public void idAnnotation3() throws Exception { - aService.testAnnotation3(); - } - - /** - * Lines 506, 507 - *

    - * ... but application generated conversation IDs may be other complex - * types. - *

    - * Lines 513, 514 - *

    - * ... To do this, the client would not use reference injection, but would - * use the of ServiceReference.setConversationID() API. - */ - @Test - public void idAnnotation4() throws Exception { - aService.testAnnotation4(); - } - - /** - * Lines 522, 523 - *

    - * Whether the conversation ID is chosen by the client or is generated by - * the system, the client may access the conversation ID by calling - * ServiceReference.getConversationID(). - *

    - * This test is following updates to this section of the specification per - * the OASIS TC under issue JAVA-31. The updated text reads: "...by calling - * getConversationID() on the current conversation object". - */ - @Test - public void idAnnotation5() throws Exception { - aService.testAnnotation5(); - } - -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/pom.xml b/java/sca/vtest/java-api/conversation/lifetime/pom.xml deleted file mode 100644 index 1d4a2d3c4e..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-conversation-lifetime - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation - Lifetime - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AService.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AService.java deleted file mode 100644 index f5249b3a5b..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AService.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -public interface AService { - - public void testConversationStarted(); - - public void testConversationStarted2(); - - public void testConversationContinue(); - - public void testConversationContinue2(); - - public void testConversationContinue3(); - - public void testConversationEnd(); - - public void testConversationEnd2(); - - public void testConversationEnd3(); - - public void testConversationEnd4(); - - public void testConversationEnd5(); - - public void testConversationEnd6(); - - public void testConversationEnd7(); - - public void testConversationEnd8(); - - public void testConversationEnd9(); -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AServiceCallback.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AServiceCallback.java deleted file mode 100644 index 635e6e74d4..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/AServiceCallback.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.EndsConversation; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Remotable Service - */ -@Remotable -@Conversational -public interface AServiceCallback { - - @EndsConversation - public void endConversation(); - -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BService.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BService.java deleted file mode 100644 index b28a31da38..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BService.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.EndsConversation; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Local Service - */ -@Remotable -@Conversational -@Callback(AServiceCallback.class) -public interface BService { - - public void setState(String someState); - - public String getState(); - - @EndsConversation - public void endConversation(); - - public void endConversationViaCallback(); - - public void throwNonBusinessException(); - - public void throwBusinessException() throws BServiceBusinessException; - -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BServiceBusinessException.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BServiceBusinessException.java deleted file mode 100644 index ab186ee7eb..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/BServiceBusinessException.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; - - -/** - * Denotes an error starting the runtime - * - * @version $Rev$ $Date$ - */ -public class BServiceBusinessException extends Exception { - - static final long serialVersionUID = 2096658015909178325L; - - private String message; - - public BServiceBusinessException() { - } - - public BServiceBusinessException(String message) { - super(message); - setMessage(message); - } - - public BServiceBusinessException(Throwable cause) { - super(cause); - setMessage(cause.getMessage()); - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/CService.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/CService.java deleted file mode 100644 index 020d18b862..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/CService.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Local Service - */ -@Remotable -@Conversational -public interface CService { - - public void setState(String someState); - public String getState(); - -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/DService.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/DService.java deleted file mode 100644 index c339ebd6ea..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/DService.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; - -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Local Service - */ -@Remotable -@Conversational -public interface DService { - - public void setState(String someState); - public String getState(); - - public void continueConversation(ServiceReference b, Object convId); - public void continueConversation2(String filename, Object id, String serializedState); - -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/AServiceImpl.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/AServiceImpl.java deleted file mode 100644 index 18d592f9d0..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/AServiceImpl.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.impl; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.ObjectOutputStream; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.AService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BServiceBusinessException; -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.CService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.DService; -import org.junit.Assert; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.ConversationEndedException; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -@Scope("CONVERSATION") -public class AServiceImpl implements AService, AServiceCallback { - - @Context - public ComponentContext context; - - @Reference - protected ServiceReference b; - - @Reference - protected DService d; - - public void testConversationStarted() { - b.getService().setState("Some state"); - Assert.assertNotNull(b.getConversation().getConversationID()); - } - - public void testConversationStarted2() { - ServiceReference ref = context.getServiceReference(BService.class, "b"); - ref.getService().setState("Some state"); - Assert.assertNotNull(ref.getConversation().getConversationID()); - } - - public void testConversationContinue() { - - b.getService().setState("Some state"); - Object id = b.getConversation().getConversationID(); - b.getService().setState("Some more state"); - Assert.assertEquals(id, b.getConversation().getConversationID()); - } - - public void testConversationContinue2() { - - b.getService().setState("Some state"); - d.continueConversation(b, b.getConversation().getConversationID()); - - } - - public void testConversationContinue3() { - - String serializedState = "Serialized State"; - - String filename = "target/Serialized-Reference.txt"; - b.getService().setState(serializedState); - Object id = b.getConversation().getConversationID(); - writeReference(b, filename); - d.continueConversation2(filename, id, serializedState); - - } - - // Utilities - - private void delayForSeconds(int numSeconds) { - try { - Thread.sleep(numSeconds * 1000);// millisecs - } catch (InterruptedException ex) { - throw new Error(ex); - } - } - - private void writeReference(ServiceReference ref, String filename) { - - FileOutputStream fos = null; - ObjectOutputStream out = null; - try { - fos = new FileOutputStream(filename); - out = new ObjectOutputStream(fos); - out.writeObject(ref); - out.close(); - } catch (IOException ex) { - ex.printStackTrace(); - } - } - - public void testConversationEnd() { - String someState = "Some state"; - b.getService().setState(someState); - b.getService().endConversation(); - Assert.assertNotSame(someState, b.getService().getState()); - } - - public void testConversationEnd2() { - String someState = "Some state"; - b.getService().setState(someState); - b.getService().endConversationViaCallback(); - Assert.assertNotSame(someState, b.getService().getState()); - } - - public void endConversation() { - System.out.println("A-callback to end conversation"); - } - - public void testConversationEnd3() { - String someState = "Some state"; - b.getService().setState(someState); - delayForSeconds(2); - try { - b.getService().getState(); - } catch (ConversationEndedException e) { - b.getConversation().end();// need to clean up to avoid exception - } - Assert.assertNotSame(someState, b.getService().getState()); - } - - public void testConversationEnd4() { - String someState = "Some state"; - b.getService().setState(someState); - b.getConversation().end(); - Assert.assertNotSame(someState, b.getService().getState()); - } - - public void testConversationEnd5() { - String someState = "Some state"; - b.getService().setState(someState); - try { - b.getService().throwNonBusinessException(); - } catch (Error e) { - // Expected - } - Assert.assertNotSame(someState, b.getService().getState()); - } - - public void testConversationEnd6() { - String someState = "Some state"; - b.getService().setState(someState); - Object id = b.getConversation().getConversationID(); - b.getService().endConversation(); - Assert.assertNotSame(someState, b.getService().getState()); - Assert.assertNotSame(id, b.getConversation().getConversationID()); - } - - public void testConversationEnd7() { - b.getService().setState("Some state"); - b.getService().endConversation(); - Assert.assertNull(b.getConversationID()); - } - - public void testConversationEnd8() { - String someState = "Some state"; - b.getService().setState(someState); - delayForSeconds(2); - b.getService().getState(); - } - - public void testConversationEnd9() { - String someState = "Some state"; - b.getService().setState(someState); - try { - b.getService().throwBusinessException(); - } catch (BServiceBusinessException e) { - // Expected - } - Assert.assertSame(someState, b.getService().getState()); - } - -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/BServiceImpl.java deleted file mode 100644 index 71e09c38b3..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/BServiceImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.AServiceCallback; -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BServiceBusinessException; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.ConversationAttributes; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -@ConversationAttributes(maxAge="1 seconds") -public class BServiceImpl implements BService { - - String someState; - - @Callback - protected AServiceCallback callback; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void endConversation() { - System.out.println("Someone called Bservice.endsConversation()"); - } - - public void endConversationViaCallback() { - callback.endConversation(); - } - - public void throwNonBusinessException() { - throw new Error(); - } - - public void throwBusinessException() throws BServiceBusinessException { - throw new BServiceBusinessException("Business Exception"); - } - -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/CServiceImpl.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/CServiceImpl.java deleted file mode 100644 index e182613932..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/CServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.CService; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -@Scope("CONVERSATION") -public class CServiceImpl implements CService { - - String someState; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/DServiceImpl.java b/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/DServiceImpl.java deleted file mode 100644 index 15a4ab3b76..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/impl/DServiceImpl.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.impl; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.ObjectInputStream; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.DService; -import org.junit.Assert; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(DService.class) -@Scope("CONVERSATION") -public class DServiceImpl implements DService { - - String someState; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public void continueConversation(ServiceReference b, Object convId) { - - b.getService().setState("Some more state"); - Assert.assertEquals(convId, b.getConversation().getConversationID()); - } - - public void continueConversation2(String filename, Object convId, String serializedState) { - ServiceReference b = readReference(filename); - Assert.assertEquals(serializedState, b.getService().getState()); - Assert.assertEquals(convId, b.getConversation().getConversationID()); - } - - // Utilities - @SuppressWarnings("unchecked") - private ServiceReference readReference(String filename) { - ServiceReference b = null; - FileInputStream fis = null; - ObjectInputStream in = null; - try { - fis = new FileInputStream(filename); - in = new ObjectInputStream(fis); - ServiceReference readObject = (ServiceReference)in.readObject(); - b = readObject; - in.close(); - } catch (IOException ex) { - ex.printStackTrace(); - } catch (ClassNotFoundException ex) { - ex.printStackTrace(); - } - return b; - } -} diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite b/java/sca/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite deleted file mode 100644 index 21ee8acac1..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/main/resources/lifetime.composite +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/lifetime/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/LifetimeTestCase.java b/java/sca/vtest/java-api/conversation/lifetime/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/LifetimeTestCase.java deleted file mode 100644 index 52c11b881c..0000000000 --- a/java/sca/vtest/java-api/conversation/lifetime/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/lifetime/LifetimeTestCase.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; -import org.oasisopen.sca.ConversationEndedException; - -/** - * - */ -public class LifetimeTestCase { - - protected static String compositeName = "lifetime.composite"; - protected static AService aService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Lines 475, 476 - *

    - * Conversations start on the client side when one of the following occur: A - * "@Reference" to a conversational service is injected, ... and then a - * method of the service is called - */ - @Test - public void lifetime1() throws Exception { - aService.testConversationStarted(); - } - - /** - * Lines 477, 478, 479 - *

    - * Conversations start on the client side when one of the following occur - * ... A call is made to CompositeContext.getServiceReference and then a - * method of the service is called. - */ - @Test - //@Ignore("TUSCANY-2243") - public void lifetime2() throws Exception { - aService.testConversationStarted2(); - } - - /** - * Line 481, 482 - *

    - * The client can continue an existing conversation, by: Holding the service - * reference that was created when the conversation started - */ - @Test - public void lifetime3() throws Exception { - aService.testConversationContinue(); - } - - /** - * Line 481, 483 - *

    - * The client can continue an existing conversation, by: ... • Getting the - * service reference object passed as a parameter from another service, even - * remotely - */ - @Test - public void lifetime4() throws Exception { - // aService.testConversationContinue2(); - } - - /** - * Line 481, 484 - *

    - * The client can continue an existing conversation, by:
    • Loading a - * service reference that had been written to some form of persistent - * storage - */ - @Test - public void lifetime6() throws Exception { - aService.testConversationContinue3(); - } - - /** - * Line 487, 488 - *

    - * A conversation ends, and any state associated with the conversation is - * freed up, when:
    - * ...A server operation that has been annotated "@EndConveration" has been - * called - */ - @Test - public void lifetime7() throws Exception { - aService.testConversationEnd(); - } - - /** - * Line 487, 489 - *

    - * A conversation ends, and any state associated with the conversation is - * freed up, when:
    - * ...The server calls an "@EndsConversation" method on the "@Callback" - * reference
    - */ - @Test - public void lifetime8() throws Exception { - aService.testConversationEnd2(); - } - - /** - * Line 487, 490 - *

    - * 487 A conversation ends, and any state associated with the conversation - * is freed up, when:
    - * ... The server's conversation lifetime timeout occurs - */ - @Test - public void lifetime9() throws Exception { - aService.testConversationEnd3(); - } - - /** - * Line 487, 491 - *

    - * A conversation ends, and any state associated with the conversation is - * freed up, when:
    - * ...The client calls Conversation.end() - */ - @Test - public void lifetime10() throws Exception { - aService.testConversationEnd4(); - } - - /** - * Line 487, 492 - *

    - * A conversation ends, and any state associated with the conversation is - * freed up, when:
    - * ...Any non-business exception is thrown by a conversational operation - */ - @Test - //@Ignore("TUSCANY-2283") - public void lifetime11() throws Exception { - aService.testConversationEnd5(); - aService.testConversationEnd9(); - } - - /** - * Line 494, 495 - *

    - * If a method is invoked on a service reference after an - * "@EndsConversation" method has been called then a new conversation will - * automatically be started. - */ - @Test - public void lifetime12() throws Exception { - aService.testConversationEnd6(); - } - - /** - * Line 495, 496, 497 - *

    - * If ServiceReference.getConversationID() is called after the - * "@EndsConversation" method: is called, but before the next conversation - * has been started, it will return null. - */ - @Test - public void lifetime13() throws Exception { - aService.testConversationEnd7(); - } - - /** - * Line 498, 499 - *

    - * If a service reference is used after the service provider's conversation - * timeout has caused the conversation to be ended, then - * ConversationEndedException will be thrown. - */ - @Test(expected = ConversationEndedException.class) - public void lifetime14() throws Exception { - aService.testConversationEnd8(); - } - -} diff --git a/java/sca/vtest/java-api/conversation/parameters/pom.xml b/java/sca/vtest/java-api/conversation/parameters/pom.xml deleted file mode 100644 index dba54f0f4c..0000000000 --- a/java/sca/vtest/java-api/conversation/parameters/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - java-api-annotations - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-conversation-parameters - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation - Parameters - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - diff --git a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/AService.java b/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/AService.java deleted file mode 100644 index bd19b504d9..0000000000 --- a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/AService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters; - -/** - * Simple Remotable Service - */ -public interface AService { - - public void setBStateThenGetCState(); - -} diff --git a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/BService.java b/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/BService.java deleted file mode 100644 index c404b91673..0000000000 --- a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/BService.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters; - -import org.oasisopen.sca.annotation.Conversational; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Local Service - */ -@Remotable -@Conversational -public interface BService { - - public void setState(String someState); - public String getState(); - -} diff --git a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/CService.java b/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/CService.java deleted file mode 100644 index d9f32dcfea..0000000000 --- a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/CService.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters; - -import org.oasisopen.sca.ServiceReference; - -/** - * Simple Local Service - */ -public interface CService { - - public void setState(String someState); - public String getState(); - public Object continueConversation(ServiceReference bref); - -} diff --git a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/AServiceImpl.java b/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/AServiceImpl.java deleted file mode 100644 index 920d1294b3..0000000000 --- a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/AServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.impl; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.AService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.CService; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - protected ServiceReference b; - - @Reference - protected CService c; - - public void setBStateThenGetCState() { - String someState = "set by A"; - b.getService().setState(someState); - Assert.assertEquals(someState, c.continueConversation(b)); - } - - -} diff --git a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/BServiceImpl.java b/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/BServiceImpl.java deleted file mode 100644 index 98cf59c084..0000000000 --- a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/BServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.BService; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -@Scope("CONVERSATION") -public class BServiceImpl implements BService { - - String someState; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - -} diff --git a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/CServiceImpl.java b/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/CServiceImpl.java deleted file mode 100644 index 5f223dfcf0..0000000000 --- a/java/sca/vtest/java-api/conversation/parameters/src/main/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/impl/CServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.impl; - -import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.BService; -import org.apache.tuscany.sca.vtest.javaapi.conversation.parameters.CService; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl implements CService { - - String someState; - - public void setState(String someState) { - this.someState = someState; - } - - public String getState() { - return someState; - } - - public String continueConversation(ServiceReference bref) { - return bref.getService().getState(); - } - -} diff --git a/java/sca/vtest/java-api/conversation/parameters/src/main/resources/parameters.composite b/java/sca/vtest/java-api/conversation/parameters/src/main/resources/parameters.composite deleted file mode 100644 index a8500dfb09..0000000000 --- a/java/sca/vtest/java-api/conversation/parameters/src/main/resources/parameters.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/java-api/conversation/parameters/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/ConversationParametersTestCase.java b/java/sca/vtest/java-api/conversation/parameters/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/ConversationParametersTestCase.java deleted file mode 100644 index 929fe06115..0000000000 --- a/java/sca/vtest/java-api/conversation/parameters/src/test/java/org/apache/tuscany/sca/vtest/javaapi/conversation/parameters/ConversationParametersTestCase.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.javaapi.conversation.parameters; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * This test class tests the Service annotation described in section 1.2.1 and - * 1.8.17 - */ -public class ConversationParametersTestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "parameters.composite"; - protected static AService aService = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - aService = ServiceFinder.getService(AService.class, "AComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - - } - - /** - * Line 423, 424, 425:
    - *

    - * The service reference which represents a single conversation can be - * passed as a parameter to another service, even if that other service is - * remote. This may be used in order to allow one component to continue a - * conversation that had been started by another. - */ - @Test - public void passParameter1() throws Exception { - aService.setBStateThenGetCState(); - } - -} diff --git a/java/sca/vtest/java-api/conversation/pom.xml b/java/sca/vtest/java-api/conversation/pom.xml deleted file mode 100644 index 08fa85c79d..0000000000 --- a/java/sca/vtest/java-api/conversation/pom.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-java-api - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api-conversation - pom - - Apache Tuscany SCA Java APIs and Annotations Verification Tests - Conversation - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - - - - default - - true - - - parameters - lifetime - id - callback - - - - diff --git a/java/sca/vtest/java-api/pom.xml b/java/sca/vtest/java-api/pom.xml deleted file mode 100644 index 9b5e957b6e..0000000000 --- a/java/sca/vtest/java-api/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-vtest - 2.0-SNAPSHOT - ../pom.xml - - vtest-java-api - pom - Apache Tuscany SCA Java APIs and Annotations Verification Tests - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - vtest-utilities - 2.0-SNAPSHOT - runtime - - - - - - - - default - - true - - - annotations - apis - conversation - - - - - diff --git a/java/sca/vtest/pom.xml b/java/sca/vtest/pom.xml deleted file mode 100644 index a49648244b..0000000000 --- a/java/sca/vtest/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-sca - 2.0-SNAPSHOT - ../pom.xml - - tuscany-vtest - pom - Apache Tuscany SCA Specification Verification Tests - - - - junit - junit - 4.5 - compile - - - - - - default - - true - - - java-api - wsbinding - utilities - assembly - - - - - diff --git a/java/sca/vtest/processcomments.rb b/java/sca/vtest/processcomments.rb deleted file mode 100644 index b7a7fc1cc3..0000000000 --- a/java/sca/vtest/processcomments.rb +++ /dev/null @@ -1,198 +0,0 @@ -=begin - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -Scans java test source files, recursively from the current directory, -and produces a list of test metods sorted by specification line number. - -The implementation makes heavy use of my scant knowledge of regex. I'll -comeback and clean this up as time allows. - -Assumes a test comment convention like this: - - /** - * Lines 410,411,412,413: - *

    - * A method of a conversational interface may be marked with an - * "@EndsConversation" annotation. Once a method marked with - * "@EndsConversation" has been called, the conversation between client and - * service provider is at an end, which implies no further methods may be - * called on that service within the *same* conversation. - */ - @Test - public void atEndsConversation1() throws Exception { - -Example command line usage ->ruby processcomments.rb > comment_scan.txt - -Current output is formatted for a cwiki page and can be directly pasted to a blank page - -Some TODO's: - Add logic to process number ranges such as "Lines 523-556" or "Lines 523 to 556" -=end -class TestMethod - - attr_accessor :lines_tested, :first_line_tested - - def initialize(text, parent) - @text = text - @parent = parent - @lines_tested = init_lines_tested - @first_line_tested = @lines_tested.first - end - - #Define sort criteria - def <=>(test_method) - @first_line_tested.<=>(test_method.first_line_tested) - end - - def name - regex = /void\s*\S*\(\) / - str = @text[regex] - str.sub(/void\s*/, '') - end - - def init_lines_tested - lines_regex = /Line.*?$/ - lines_array = @text.scan(lines_regex) - nums_regex = /\d{1,4}/ - line_numbers = Array.new - lines_array.each do |line_text| - number_strings =line_text.scan(nums_regex) - number_strings.each {|num_string| line_numbers< - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-vtest - 2.0-SNAPSHOT - ../pom.xml - - vtest-utilities - Apache Tuscany SCA Verification Tests - Utilities - - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - wsdl4j - wsdl4j - 1.6.2 - - - - - diff --git a/java/sca/vtest/utilities/src/main/java/org/apache/tuscany/sca/vtest/utilities/ServiceFinder.java b/java/sca/vtest/utilities/src/main/java/org/apache/tuscany/sca/vtest/utilities/ServiceFinder.java deleted file mode 100644 index 9b6792e51b..0000000000 --- a/java/sca/vtest/utilities/src/main/java/org/apache/tuscany/sca/vtest/utilities/ServiceFinder.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.utilities; - -import java.util.List; - -import javax.wsdl.Definition; -import javax.wsdl.WSDLException; -import javax.wsdl.factory.WSDLFactory; -import javax.wsdl.xml.WSDLReader; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * - * - */ -public class ServiceFinder { - - private static SCADomain domain; - - protected ServiceFinder() { - super(); - } - - public static void init(String compositeFileName) { - if (domain != null) - System.out.println("VTEST WARNING: domain already exists and is will be overwritten!"); - domain = SCADomain.newInstance(compositeFileName); - } - - - public static B getService(Class businessInterface, String serviceName) { - return domain.getService(businessInterface, serviceName); - } - - public static void cleanup() { - domain.close(); - domain = null; - } - - private static String getUri(String component, String service, String binding) { - - List csList = domain.getComponentManager().getComponent(component).getServices(); - - for (int i = 0; i < csList.size(); i++) { - ComponentService cs = csList.get(i); - if (service.equals(cs.getName())) { - List bList = cs.getBindings(); - for (int j = 0; j < bList.size(); j++) { - String bName = bList.get(j).getName(); - if (bName.equals(binding)) { - String bUri = bList.get(j).getURI(); - System.out.println(component + "/" + service + "-> binding name: " + bName + ", uri: " + bUri); - return bUri; - } - } - } - } - return null; - } - - public static Definition getWSDLDefinition(String component, String service) { - return getWSDLDefinition(component, service, service); - } - - public static Definition getWSDLDefinition(String component, String service, String binding) { - - String uri = getUri(component, service, binding); - - if (uri == null) - return null; - - try { - WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); - wsdlReader.setFeature("javax.wsdl.verbose",false); - wsdlReader.setFeature("javax.wsdl.importDocuments",true); - return wsdlReader.readWSDL(uri + "?wsdl"); - } catch (WSDLException e) { - e.printStackTrace(System.out); - } - return null; - } - - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/pom.xml b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/pom.xml deleted file mode 100644 index 93281db150..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding-nowsdl - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-nowsdl-defaultbinding - Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL Default Binding - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-tomcat - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java deleted file mode 100644 index b99ced1e17..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/AService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService. - */ -@Remotable -public interface AService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java deleted file mode 100644 index 77c7bd4071..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/BService.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java deleted file mode 100644 index b1979b99d9..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/CService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface CService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public Integer getInteger(Integer i); - - public float getFloat(float f); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java deleted file mode 100644 index 9a99700550..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/DService.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for DService. - */ -@Remotable -public interface DService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getC1String(String aString); - - public String getC1String2(String aString, String bString); - - public Integer getC1Integer(Integer i); - - public float getC1Float(float f); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java deleted file mode 100644 index 862dd78735..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/AServiceImpl.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.AService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - public BService b1; - - public String getName() { - return "AService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java deleted file mode 100644 index 225476ada0..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/BServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java deleted file mode 100644 index 9c5908f34e..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/CServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl implements CService { - - public String getName() { - return "CService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public Integer getInteger(Integer i) { - return i; - } - - public float getFloat(float f) { - return f; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java deleted file mode 100644 index 9bda9468f5..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/impl/DServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.BService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.CService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.DService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(DService.class) -public class DServiceImpl implements DService { - - @Reference - public BService b1; - - @Reference - public CService c1; - - public String getName() { - return "DService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getC1String(String aString) { - return c1.getString(aString); - } - - public String getC1String2(String aString, String bString) { - return c1.getString2(aString, bString); - } - - public Integer getC1Integer(Integer i) { - return c1.getInteger(i); - } - - public float getC1Float(float f) { - return c1.getFloat(f); - } -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite deleted file mode 100644 index 39d66fa365..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/main/resources/nowsdl.composite +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java b/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java deleted file mode 100644 index b50774cfa9..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/defaultbinding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/defaultbinding/NoWsdlDefaultBindingTestCase.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.AService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.defaultbinding.DService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element without WSDL document - * described in section section 2.2.2 of SCA Web Services Binding V1.00 - * - * @TODO - will add following tests
    - *

  • promoted service
  • - *
  • with complex type object
  • - */ -public class NoWsdlDefaultBindingTestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "nowsdl.composite"; - protected static AService a; - protected static DService d; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a = ServiceFinder.getService(AService.class, "AComponent"); - d = ServiceFinder.getService(DService.class, "DComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 169-181:
    - * 2.2.2 Examples Without a WSDL Document
    - * The next example shows the simplest form of the binding element without - * WSDL document,
    - * ...
    - * which itself uses all the defaults.
    - */ - @Test - public void testNoWsdl1() throws Exception { - String aName = a.getName(); - String b1Str1 = a.getB1String("string1"); - String b1Str2 = a.getB1String2("string2", "string3"); - int b1Int = a.getB1Int(4000); - - System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - } - - /** - * Lines 169-181:
    - * Test two references using binding.ws but without WSDL documents.
    - */ - @Test - public void testNoWsdl2() throws Exception { - String dName = d.getName(); - String b1Str1 = d.getB1String("string1"); - String b1Str2 = d.getB1String2("string2", "string3"); - String c1Str1 = d.getC1String("string5"); - String c1Str2 = d.getC1String2("string6", "string7"); - - int b1Int = d.getB1Int(4000); - float c1Float = d.getC1Float((float) 8.8); - - Integer c1Integer = d.getC1Integer(new Integer(9000)); - - System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); - Assert.assertEquals("DService", dName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - Assert.assertEquals("string5", c1Str1); - Assert.assertEquals("string6string7", c1Str2); - Assert.assertEquals((float) 8.8, c1Float); - Assert.assertEquals(new Integer(9000), c1Integer); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml deleted file mode 100644 index 56356ce487..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding-nowsdl - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-nowsdl-multisoapbindings - Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL Multi Soap Bindings - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-tomcat - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java deleted file mode 100644 index 1edeea95a3..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/AService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService. - */ -@Remotable -public interface AService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java deleted file mode 100644 index 007ff62f17..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/BService.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java deleted file mode 100644 index 63049ac3df..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/CService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface CService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public Integer getInteger(Integer i); - - public float getFloat(float f); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java deleted file mode 100644 index 1a8d4671aa..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/DService.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for DService. - */ -@Remotable -public interface DService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getC1String(String aString); - - public String getC1String2(String aString, String bString); - - public Integer getC1Integer(Integer i); - - public float getC1Float(float f); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java deleted file mode 100644 index abed24390e..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/AServiceImpl.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.AService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - public BService b1; - - public String getName() { - return "AService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java deleted file mode 100644 index aba7748bb0..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/BServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java deleted file mode 100644 index c7bf86e5eb..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/CServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl implements CService { - - public String getName() { - return "CService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public Integer getInteger(Integer i) { - return i; - } - - public float getFloat(float f) { - return f; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java deleted file mode 100644 index 9f6ff73355..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/impl/DServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.CService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.DService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(DService.class) -public class DServiceImpl implements DService { - - @Reference - public BService b1; - - @Reference - public CService c1; - - public String getName() { - return "DService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getC1String(String aString) { - return c1.getString(aString); - } - - public String getC1String2(String aString, String bString) { - return c1.getString2(aString, bString); - } - - public Integer getC1Integer(Integer i) { - return c1.getInteger(i); - } - - public float getC1Float(float f) { - return c1.getFloat(f); - } -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite deleted file mode 100644 index 8cd599354a..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/main/resources/nowsdlmultisoapbindings.composite +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java deleted file mode 100644 index ae058cf6c9..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/GeneratedWSDLTestCase.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.wsdl.Binding; -import javax.wsdl.Definition; -import javax.wsdl.Port; -import javax.wsdl.Service; -import javax.wsdl.extensions.http.HTTPAddress; -import javax.wsdl.extensions.http.HTTPBinding; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.extensions.soap.SOAPBinding; -import javax.wsdl.extensions.soap12.SOAP12Address; -import javax.wsdl.extensions.soap12.SOAP12Binding; - -import junit.framework.Assert; -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element without WSDL document - * described in section 2.3.2 of SCA Web Services Binding V1.00 - */ -public class GeneratedWSDLTestCase { - - protected static String compositeName = "nowsdlmultisoapbindings.composite"; - protected static Definition cWSDL = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - cWSDL = ServiceFinder.getWSDLDefinition("CComponent", "CService"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - private Map getPorts(Definition wsdl, String service) { - String targetNamespace = wsdl.getTargetNamespace(); - HashMap sMap = (HashMap) wsdl.getServices(); - for (Iterator i = sMap.keySet().iterator(); i.hasNext();) { - Object k1 = i.next(); - Service s = (Service) sMap.get(k1); - String qName = "{" + targetNamespace + "}" + service; - if (s.getQName().toString().equals(qName)) { - return s.getPorts(); - } - // Don't why implmentation changed to add Service at the end of qname - if (s.getQName().toString().equals(qName + "Service")) { - return s.getPorts(); - } - } - return null; - } - - /** - * Lines 262-264:
    - * The WSDL service has one or more ports for each web service binding on - * the SCA service that has a SOAP requirement, or that refers to an - * existing WSDL binding, depending on the requirements of the web service - * binding. Each of those ports has a single binding.

    - * Each service has following bindings:
    - *

  • SoapBinding - PortType and SOAP11
  • - *
  • SOAP12Binding - SOAP12
  • - *
  • HTTPBinding - Http
  • - *
    and following ports:
    - *
  • SoapAddress
  • - *
  • SOAP12Address
  • - *
  • HTTPAddress
  • - */ - @Test - @Ignore - // Only generate SOAP port and binding - public void testMultiSoapBindings4() throws Exception { - - Map pMap = getPorts(cWSDL, "CService"); - int numSoapPort = 0; - int numSoap12Port = 0; - int numHttpPort = 0; - for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { - Object k2 = iter.next(); - Port p = (Port) pMap.get(k2); - List eeList = p.getExtensibilityElements(); - for (int i = 0; i < eeList.size(); i++) { - Object address = eeList.get(i); - if (address instanceof SOAPAddress) { - numSoapPort++; - } else if (address instanceof SOAP12Address) { - numSoap12Port++; - } else if (address instanceof HTTPAddress) { - numHttpPort++; - }; - } - } - - Map cMap = cWSDL.getBindings(); - int numSoapBinding = 0; - int numSoap12Binding = 0; - int numHttpBinding = 0; - for (Iterator iter = cMap.keySet().iterator(); iter.hasNext();) { - Object k1 = iter.next(); - Binding b = (Binding) cMap.get(k1); - List eeList = b.getExtensibilityElements(); - for (int i = 0; i < eeList.size(); i++) { - Object binding = eeList.get(i); - if (binding instanceof SOAPBinding) { - numSoapBinding++; - } else if (binding instanceof SOAP12Binding) { - numSoap12Binding++; - } else if (binding instanceof HTTPBinding) { - numHttpBinding++; - } - } - } - - System.out.println("testMultiSoapBindings4"); - System.out.println(" # of SOAPPort: " + numSoapPort); - System.out.println(" # of SOAP12Port: " + numSoap12Port); - System.out.println(" # of HTTPPort: " + numHttpPort); - System.out.println(" # of SOAPBinding: " + numSoapBinding); - System.out.println(" # of SOAP12Binding: " + numSoap12Binding); - System.out.println(" # of HTTPBinding: " + numHttpBinding); - - Assert.assertEquals(numSoapPort, 1); - Assert.assertTrue(numSoap12Port > 0); - Assert.assertTrue(numSoapBinding > 0); - Assert.assertEquals(numSoap12Binding, 1); - // Skipped to test HTTP - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java b/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java deleted file mode 100644 index 5dbb696bf5..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/multisoapbindings/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/multisoapbindings/NoWsdlMultiSoapBindingsTestCase.java +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings; - -import junit.framework.Assert; -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.AService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.DService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element without WSDL document - * described in section section 2.2.2 and 2.3.2 of SCA Web Services - * Binding V1.00 - */ -public class NoWsdlMultiSoapBindingsTestCase { - - protected static String compositeName = "nowsdlmultisoapbindings.composite"; - protected static AService a1; - protected static AService a2; - protected static AService a3; - protected static AService a4; - protected static DService d1; - protected static DService d2; - protected static DService d3; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a1 = ServiceFinder.getService(AService.class, "AComponent1"); - a2 = ServiceFinder.getService(AService.class, "AComponent2"); - a3 = ServiceFinder.getService(AService.class, "AComponent3"); - a4 = ServiceFinder.getService(AService.class, "AComponent4"); - d1 = ServiceFinder.getService(DService.class, "DComponent1"); - d2 = ServiceFinder.getService(DService.class, "DComponent2"); - d3 = ServiceFinder.getService(DService.class, "DComponent3"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 201-225:
    - * The next example shows the use of the binding element without a WSDL - * document, with multiple SOAP bindings with non-default values. The SOAP - * 1.2 binding name defaults to the service name, the SOAP 1.1 binding is - * given an explicit name. The reference has a web service binding which - * uses SOAP 1.2, but otherwise uses all the defaults for SOAP binding. - * The reference binding name defaults to the reference name.

    - * Line 253:
    - *

  • soap
  • - * ...
    - * version, including multiple versions.
    - *

    - * AComponent1 - no requires
    - * AComponent2 - requires = soap
    - * AComponent3 - requires = soap.1_1
    - * AComponent4 - requires = soap.1_2
    - */ - @Test - public void testMultiSoapBindings1() throws Exception { - - String aName = a1.getName(); - String b1Str1 = a1.getB1String("string1"); - String b1Str2 = a1.getB1String2("string2", "string3"); - int b1Int = a1.getB1Int(1000); - - System.out.println("AComponent1: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(1000, b1Int); - - aName = a2.getName(); - b1Str1 = a2.getB1String("string1"); - b1Str2 = a2.getB1String2("string2", "string3"); - b1Int = a2.getB1Int(2000); - - System.out.println("AComponent2: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(2000, b1Int); - - aName = a3.getName(); - b1Str1 = a3.getB1String("string1"); - b1Str2 = a3.getB1String2("string2", "string3"); - b1Int = a3.getB1Int(3000); - - System.out.println("AComponent3: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(3000, b1Int); - - aName = a4.getName(); - b1Str1 = a4.getB1String("string1"); - b1Str2 = a4.getB1String2("string2", "string3"); - b1Int = a4.getB1Int(4000); - - System.out.println("AComponent4: " + aName + ", " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - - } - - /** - * Lines 201-225, 262-264:
    - * The WSDL service has one or more ports for each web service binding on - * the SCA service that has a SOAP requirement, or that refers to an - * existing WSDL binding, depending on the requirements of the web service - * binding. Each of those ports has a single binding.
    - *

    - * Test multiple SOAP bindings with two references which use different versions.
    - */ - @Test - public void testMultiSoapBindings2() throws Exception { - - String dName = d1.getName(); - String b1Str1 = d1.getB1String("string1"); - String b1Str2 = d1.getB1String2("string2", "string3"); - String c1Str1 = d1.getC1String("string5"); - String c1Str2 = d1.getC1String2("string6", "string7"); - int b1Int = d1.getB1Int(4000); - float c1Float = d1.getC1Float((float) 8.8); - Integer c1Integer = d1.getC1Integer(new Integer(9001)); - - System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); - Assert.assertEquals("DService", dName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - Assert.assertEquals("string5", c1Str1); - Assert.assertEquals("string6string7", c1Str2); - Assert.assertEquals((float) 8.8, c1Float); - Assert.assertEquals(new Integer(9001), c1Integer); - - dName = d2.getName(); - b1Str1 = d2.getB1String("string1"); - b1Str2 = d2.getB1String2("string2", "string3"); - c1Str1 = d2.getC1String("string5"); - c1Str2 = d2.getC1String2("string6", "string7"); - b1Int = d2.getB1Int(4000); - c1Float = d2.getC1Float((float) 8.8); - c1Integer = d2.getC1Integer(new Integer(9002)); - - System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); - Assert.assertEquals("DService", dName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - Assert.assertEquals("string5", c1Str1); - Assert.assertEquals("string6string7", c1Str2); - Assert.assertEquals((float) 8.8, c1Float); - Assert.assertEquals(new Integer(9002), c1Integer); - } - - /** - * Lines 201-225, 262-264:
    - * Test multiple SOAP bindings with promoted services and references.
    - */ - @Test - public void testMultiSoapBindings3() throws Exception { - - String dName = d3.getName(); - String b1Str1 = d3.getB1String("string1"); - String b1Str2 = d3.getB1String2("string2", "string3"); - String c1Str1 = d3.getC1String("string5"); - String c1Str2 = d3.getC1String2("string6", "string7"); - int b1Int = d3.getB1Int(4000); - float c1Float = d3.getC1Float((float) 8.8); - Integer c1Integer = d3.getC1Integer(new Integer(9003)); - - System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); - Assert.assertEquals("DService", dName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - Assert.assertEquals("string5", c1Str1); - Assert.assertEquals("string6string7", c1Str2); - Assert.assertEquals((float) 8.8, c1Float); - Assert.assertEquals(new Integer(9003), c1Integer); - - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/nowsdl/pom.xml b/java/sca/vtest/wsbinding/nowsdl/pom.xml deleted file mode 100644 index e40a4270c7..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-nowsdl - pom - - Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - vtest-utilities - 2.0-SNAPSHOT - runtime - - - - - - - default - - true - - - defaultbinding - soapversion - multisoapbindings - promoted - - - - diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/pom.xml b/java/sca/vtest/wsbinding/nowsdl/promoted/pom.xml deleted file mode 100644 index 63dc9ad5f6..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding-nowsdl - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-nowsdl-promoted - Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL Promoted Service and Reference - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-tomcat - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java deleted file mode 100644 index d786f36db1..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/AService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService. - */ -@Remotable -public interface AService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java deleted file mode 100644 index d4ebfcfe37..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BService.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java deleted file mode 100644 index 7289714ed2..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BServiceSOAP { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java deleted file mode 100644 index e0c58088da..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP11.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BServiceSOAP11 { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java deleted file mode 100644 index e279b1d55d..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/BServiceSOAP12.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BServiceSOAP12 { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java deleted file mode 100644 index 9aaba29629..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/CService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface CService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public Integer getInteger(Integer i); - - public float getFloat(float f); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java deleted file mode 100644 index 35291dc402..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/DService.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for DService. - */ -@Remotable -public interface DService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getC1String(String aString); - - public String getC1String2(String aString, String bString); - - public Integer getC1Integer(Integer i); - - public float getC1Float(float f); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java deleted file mode 100644 index 0bc776b06d..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/AServiceImpl.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - public BService b1; - - public String getName() { - return "AService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java deleted file mode 100644 index 8ebf27bdb1..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java deleted file mode 100644 index 22247f8372..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP11Impl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP11; -import org.oasisopen.sca.annotation.Service; - -@Service(BServiceSOAP11.class) -public class BServiceSOAP11Impl implements BServiceSOAP11 { - - public String getName() { - return "BServiceSOAP11"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java deleted file mode 100644 index 4fbc82227c..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAP12Impl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP12; -import org.oasisopen.sca.annotation.Service; - -@Service(BServiceSOAP12.class) -public class BServiceSOAP12Impl implements BServiceSOAP12 { - - public String getName() { - return "BServiceSOAP12"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java deleted file mode 100644 index 83f6746a5f..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/BServiceSOAPImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BServiceSOAP; -import org.oasisopen.sca.annotation.Service; - -@Service(BServiceSOAP.class) -public class BServiceSOAPImpl implements BServiceSOAP { - - public String getName() { - return "BServiceSOAP"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java deleted file mode 100644 index ec6611fae4..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/CServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl implements CService { - - public String getName() { - return "CService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public Integer getInteger(Integer i) { - return i; - } - - public float getFloat(float f) { - return f; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java deleted file mode 100644 index 4b488c376e..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/impl/DServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.BService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.CService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.DService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(DService.class) -public class DServiceImpl implements DService { - - @Reference - public BService b1; - - @Reference - public CService c1; - - public String getName() { - return "DService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getC1String(String aString) { - return c1.getString(aString); - } - - public String getC1String2(String aString, String bString) { - return c1.getString2(aString, bString); - } - - public Integer getC1Integer(Integer i) { - return c1.getInteger(i); - } - - public float getC1Float(float f) { - return c1.getFloat(f); - } -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite b/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite deleted file mode 100644 index f79df5bf8f..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/main/resources/nowsdlpromoted.composite +++ /dev/null @@ -1,246 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java deleted file mode 100644 index ae7dafa46e..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted1TestCase.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; - -import junit.framework.Assert; -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element without WSDL document - * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding - * V1.00 - */ -public class NoWsdlPromoted1TestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "nowsdlpromoted.composite"; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 251-253, 287-291:
    - *

  • soap
  • - * This indicates that a SOAP binding is required. The SOAP binding may be - * of any SOAP version, including multiple versions.
    - *
    - * 2.3.3.1 SOAP versions
    - * Where a web service binding requires a specific SOAP version, then a - * single WSDL port and SOAP binding of the appropriate version is - * generated. Where no specific SOAP version is required, then one or more - * WSDL ports with associated SOAP bindings may be generated, depending on - * the level(s) supported in the target runtime.
    - *

    - * Tests promoted services and references
    - */ - @Test - public void testSoapVersion1() throws Exception { - - for (int i = 0; i < 8; i++) { - AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); - String aName = a.getName(); - String b1Str1 = a.getB1String("string1"); - String b1Str2 = a.getB1String2("string2", "string3"); - int b1Int = a.getB1Int(i * 1000 + 1000); - System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(i * 1000 + 1000, b1Int); - } - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java b/java/sca/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java deleted file mode 100644 index a4744b9007..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/promoted/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/promoted/NoWsdlPromoted2TestCase.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted; - -import junit.framework.Assert; -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.AService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.promoted.DService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element without WSDL document - * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding - * V1.00 - */ -public class NoWsdlPromoted2TestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "nowsdlpromoted.composite"; - protected static DService d; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - d = ServiceFinder.getService(DService.class, "DComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 254-257, 287-291:
    - *

  • soap.1_1

  • - * A SOAP 1.1 binding only is required.
    - *
  • soap.1_2

  • - * A SOAP 1.2 binding only is required.
    - *
    - * 2.3.3.1 SOAP versions
    - * Where a web service binding requires a specific SOAP version, then a - * single WSDL port and SOAP binding of the appropriate version is - * generated. Where no specific SOAP version is required, then one or more - * WSDL ports with associated SOAP bindings may be generated, depending on - * the level(s) supported in the target runtime.
    - *

    - * Tests promoted services and references
    - */ - @Test - public void testSoapVersion2() throws Exception { - - for (int i = 8; i < 16; i++) { - AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); - String aName = a.getName(); - String b1Str1 = a.getB1String("string1"); - String b1Str2 = a.getB1String2("string2", "string3"); - int b1Int = a.getB1Int(i * 1000 + 1000); - System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(i * 1000 + 1000, b1Int); - } - } - - /** - * Lines 254-257, 287-291:
    - * Test two references using binding.ws with 2 different SOAP versions - * and without WSDL document.
    - */ - @Test - public void testSoapVersion3() throws Exception { - String dName = d.getName(); - String b1Str1 = d.getB1String("string1"); - String b1Str2 = d.getB1String2("string2", "string3"); - String c1Str1 = d.getC1String("string5"); - String c1Str2 = d.getC1String2("string6", "string7"); - - int b1Int = d.getB1Int(4000); - float c1Float = d.getC1Float((float) 8.8); - - Integer c1Integer = d.getC1Integer(new Integer(9000)); - - System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); - Assert.assertEquals("DService", dName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - Assert.assertEquals("string5", c1Str1); - Assert.assertEquals("string6string7", c1Str2); - Assert.assertEquals((float) 8.8, c1Float); - Assert.assertEquals(new Integer(9000), c1Integer); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/pom.xml b/java/sca/vtest/wsbinding/nowsdl/soapversion/pom.xml deleted file mode 100644 index 1334e35880..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding-nowsdl - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-nowsdl-soapversion - Apache Tuscany SCA Web Service Binding Verification Tests - No WSDL SOAP Version - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-tomcat - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java deleted file mode 100644 index e78c977ef0..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/AService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService. - */ -@Remotable -public interface AService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java deleted file mode 100644 index 1d95f089c9..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BService.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java deleted file mode 100644 index 45d10bbd45..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BServiceSOAP { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java deleted file mode 100644 index f55e23012f..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP11.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BServiceSOAP11 { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java deleted file mode 100644 index 91c9860b98..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/BServiceSOAP12.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BServiceSOAP12 { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java deleted file mode 100644 index 99d4f7b09f..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/CService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface CService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public Integer getInteger(Integer i); - - public float getFloat(float f); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java deleted file mode 100644 index e95fae6877..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/DService.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for DService. - */ -@Remotable -public interface DService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getC1String(String aString); - - public String getC1String2(String aString, String bString); - - public Integer getC1Integer(Integer i); - - public float getC1Float(float f); - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java deleted file mode 100644 index a313b769e5..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/AServiceImpl.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference - public BService b1; - - public String getName() { - return "AService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java deleted file mode 100644 index 3baf691d88..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java deleted file mode 100644 index 965e195ae3..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP11Impl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP11; -import org.oasisopen.sca.annotation.Service; - -@Service(BServiceSOAP11.class) -public class BServiceSOAP11Impl implements BServiceSOAP11 { - - public String getName() { - return "BServiceSOAP11"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java deleted file mode 100644 index 69e7edcc68..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAP12Impl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP12; -import org.oasisopen.sca.annotation.Service; - -@Service(BServiceSOAP12.class) -public class BServiceSOAP12Impl implements BServiceSOAP12 { - - public String getName() { - return "BServiceSOAP12"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java deleted file mode 100644 index 7e8294f778..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/BServiceSOAPImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BServiceSOAP; -import org.oasisopen.sca.annotation.Service; - -@Service(BServiceSOAP.class) -public class BServiceSOAPImpl implements BServiceSOAP { - - public String getName() { - return "BServiceSOAP"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java deleted file mode 100644 index 7909edeb39..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/CServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl implements CService { - - public String getName() { - return "CService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public Integer getInteger(Integer i) { - return i; - } - - public float getFloat(float f) { - return f; - } - -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java deleted file mode 100644 index 2f34bf08f9..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/impl/DServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.DService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(DService.class) -public class DServiceImpl implements DService { - - @Reference - public BService b1; - - @Reference - public CService c1; - - public String getName() { - return "DService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getC1String(String aString) { - return c1.getString(aString); - } - - public String getC1String2(String aString, String bString) { - return c1.getString2(aString, bString); - } - - public Integer getC1Integer(Integer i) { - return c1.getInteger(i); - } - - public float getC1Float(float f) { - return c1.getFloat(f); - } -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite deleted file mode 100644 index 61a658ab55..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/main/resources/nowsdlsoapversion.composite +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java deleted file mode 100644 index edd0d91072..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/GeneratedWSDLTestCase.java +++ /dev/null @@ -1,438 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.wsdl.Binding; -import javax.wsdl.BindingInput; -import javax.wsdl.BindingOperation; -import javax.wsdl.BindingOutput; -import javax.wsdl.Definition; -import javax.wsdl.Operation; -import javax.wsdl.Port; -import javax.wsdl.PortType; -import javax.wsdl.Service; -import javax.wsdl.extensions.http.HTTPAddress; -import javax.wsdl.extensions.http.HTTPBinding; -import javax.wsdl.extensions.http.HTTPOperation; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.extensions.soap.SOAPBinding; -import javax.wsdl.extensions.soap.SOAPBody; -import javax.wsdl.extensions.soap.SOAPHeader; -import javax.wsdl.extensions.soap.SOAPHeaderFault; -import javax.wsdl.extensions.soap.SOAPOperation; -import javax.wsdl.extensions.soap12.SOAP12Address; -import javax.wsdl.extensions.soap12.SOAP12Binding; -import javax.wsdl.extensions.soap12.SOAP12Body; -import javax.wsdl.extensions.soap12.SOAP12Header; -import javax.wsdl.extensions.soap12.SOAP12HeaderFault; -import javax.wsdl.extensions.soap12.SOAP12Operation; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService; - - -/** - * Tests the simplest form of the binding element without WSDL document - * described in section section 2.3.2, 2.3.3, 2.3.3.1, and 2.3.4 of SCA - * Web Services Binding V1.00 - */ -public class GeneratedWSDLTestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "nowsdlsoapversion.composite"; - protected static Definition bWSDL = null; - protected static Definition cWSDL = null; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - bWSDL = ServiceFinder.getWSDLDefinition("BComponent", "BService"); - cWSDL = ServiceFinder.getWSDLDefinition("CComponent", "CService"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 260-262:
    - * A separate WSDL document is generated for each SCA service. Each has - * its own unique target namespace. This is to ensure that bindings on - * different services of the same component do not clash.
    - */ - @Test - @Ignore("TUSCANY-2607") - // Don't know why target namespaces are same - public void testSoapVersion4() throws Exception { - String cTargetNamespace = cWSDL.getTargetNamespace(); - String bTargetNamespace = bWSDL.getTargetNamespace(); - Assert.assertFalse(bTargetNamespace.equals(cTargetNamespace)); - } - - /** - * Lines 271-273:
    - * The target namespace of the WSDL document, and of the service, ports and - * generated binding elements is:
    - * Base System URI for HTTP / Component Name / Service Name
    - */ - @Test - @Ignore("TUSCANY-2607") - // The target namespace does not follow the convention - public void testSoapVersion5() throws Exception { - String bTargetNamespace = bWSDL.getTargetNamespace(); - String cTargetNamespace = cWSDL.getTargetNamespace(); - Assert.assertTrue(bTargetNamespace.endsWith("BComponent/BService")); - Assert.assertTrue(cTargetNamespace.endsWith("CComponent/CService")); - } - - private Map getPorts(Definition wsdl, String service) { - String targetNamespace = wsdl.getTargetNamespace(); - HashMap sMap = (HashMap) wsdl.getServices(); - for (Iterator i = sMap.keySet().iterator(); i.hasNext();) { - Object k1 = i.next(); - Service s = (Service) sMap.get(k1); - String qName = "{" + targetNamespace + "}" + service; - if (s.getQName().toString().equals(qName)) { - return s.getPorts(); - } - // Don't why implmentation changed to add Service at the end of qname - if (s.getQName().toString().equals(qName + "Service")) { - return s.getPorts(); - } - } - return null; - } - - /** - * Lines 262-264, 290-291:
    - * The WSDL service has one or more ports for each web service binding on - * the SCA service that has a SOAP requirement, or that refers to an - * existing WSDL binding, depending on the requirements of the web service - * binding. Each of those ports has a single binding.
    - *

    - * 2.3.3.1 SOAP versions
    - * Where no specific SOAP version is required, then one or more WSDL ports - * with associated SOAP bindings may be generated, depending on the level(s) - * supported in the target runtime.
    - *

    - * BComponent/BService is not specified a SOAP version. - * It should have following bindings:
    - *

  • SoapBinding - PortType and SOAP11
  • - *
  • SOAP12Binding - SOAP12
  • - *
  • HTTPBinding - Http
  • - *
    and following ports:
    - *
  • SoapAddress
  • - *
  • SOAP12Address
  • - *
  • HTTPAddress
  • - - */ - @Test - public void testSoapVersion6() throws Exception { - - Map pMap = getPorts(bWSDL, "BService"); - int numSoapPort = 0; - int numSoap12Port = 0; - int numHttpPort = 0; - for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { - Object k2 = iter.next(); - Port p = (Port) pMap.get(k2); - List eeList = p.getExtensibilityElements(); - for (int i = 0; i < eeList.size(); i++) { - Object address = eeList.get(i); - if (address instanceof SOAPAddress) { - numSoapPort++; - } else if (address instanceof SOAP12Address) { - numSoap12Port++; - } else if (address instanceof HTTPAddress) { - numHttpPort++; - } else { - System.out.println("address:" + address.getClass()); - } - } - } - - Map bMap = bWSDL.getBindings(); - int numSoapBinding = 0; - int numSoap12Binding = 0; - int numHttpBinding = 0; - for (Iterator iter = bMap.keySet().iterator(); iter.hasNext();) { - Object k1 = iter.next(); - Binding b = (Binding) bMap.get(k1); - List eeList = b.getExtensibilityElements(); - for (int i = 0; i < eeList.size(); i++) { - Object binding = eeList.get(i); - if (binding instanceof SOAPBinding) { - numSoapBinding++; - } else if (binding instanceof SOAP12Binding) { - numSoap12Binding++; - } else if (binding instanceof HTTPBinding) { - numHttpBinding++; - } - } - } - - System.out.println("testSoapVersion6"); - System.out.println(" # of SOAPPort: " + numSoapPort); - System.out.println(" # of SOAP12Port: " + numSoap12Port); - System.out.println(" # of HTTPPort: " + numHttpPort); - System.out.println(" # of SOAPBinding: " + numSoapBinding); - System.out.println(" # of SOAP12Binding: " + numSoap12Binding); - System.out.println(" # of HTTPBinding: " + numHttpBinding); - - Assert.assertEquals(numSoapPort, 1); - Assert.assertEquals(numSoap12Port, 0); - Assert.assertTrue(numSoapBinding > 0); - Assert.assertEquals(numSoap12Binding, 0); - // Skipped to test HTTP - - } - - /** - * Lines 275-284:
    - * 2.3.3 WSDL Bindings
    - * The binding elements in the generated WSDL document are either defined - * within the document, derived from the requirements of the binding, or - * are imported from existing WSDL documents.
    - * Generated bindings have the following fixed assumptions:
    - *
  • use="literal" for input and output messages
  • - *
  • style="document" for the binding
  • - *
  • All faults map to soap:faults
  • - *
  • No header or headerFault elements are generated
  • - *
  • The transport is "http://schemas.xmlsoap.org/soap/http", unless the - * system provides intents for alternative transports
    - *

    - */ - @Test - public void testSoapVersion7() throws Exception { - Map bMap = bWSDL.getBindings(); - for (Iterator iter = bMap.keySet().iterator(); iter.hasNext();) { - Object k1 = iter.next(); - Binding b = (Binding) bMap.get(k1); - List eeList = b.getExtensibilityElements(); - for (int i = 0; i < eeList.size(); i++) { - Object binding = eeList.get(i); - if (binding instanceof SOAPBinding) { - SOAPBinding sb = (SOAPBinding) binding; - Assert.assertEquals(sb.getStyle(), "document"); - Assert.assertEquals(sb.getTransportURI(), "http://schemas.xmlsoap.org/soap/http"); - } else if (binding instanceof SOAP12Binding) { - SOAP12Binding sb = (SOAP12Binding) binding; - Assert.assertEquals(sb.getStyle(), "document"); - Assert.assertEquals(sb.getTransportURI(), "http://schemas.xmlsoap.org/soap/http"); - } else if (binding instanceof HTTPBinding) { - } - } - List operations = b.getBindingOperations(); - for (int i = 0; i < eeList.size(); i++) { - BindingOperation bop = (BindingOperation) operations.get(i); - - List oeeList = bop.getExtensibilityElements(); - for (int j = 0; j < eeList.size(); j++) { - Object op = oeeList.get(j); - if (op instanceof SOAPOperation) { - SOAPOperation sop = (SOAPOperation) op; - if (sop.getStyle() != null) - Assert.assertEquals(sop.getStyle(), "document"); - } else if (op instanceof SOAP12Operation) { - SOAP12Operation sop = (SOAP12Operation) op; - Assert.assertEquals(sop.getStyle(), "document"); - } else if (op instanceof HTTPOperation) { - // HTTPOperation hop = (HTTPOperation) op; - } - } - - BindingInput bInput = (BindingInput) bop.getBindingInput(); - List bInputList = bInput.getExtensibilityElements(); - for (int j = 0; j < eeList.size(); j++) { - Object body = bInputList.get(j); - if (body instanceof SOAPBody) { - SOAPBody sBody = (SOAPBody) body; - Assert.assertEquals(sBody.getUse(), "literal"); - } else if (body instanceof SOAP12Body) { - SOAP12Body sBody = (SOAP12Body) body; - Assert.assertEquals(sBody.getUse(), "literal"); - } else { - Assert.assertFalse(body instanceof SOAPHeader); - Assert.assertFalse(body instanceof SOAP12Header); - Assert.assertFalse(body instanceof SOAPHeaderFault); - Assert.assertFalse(body instanceof SOAP12HeaderFault); - } - } - - BindingOutput bOutput = (BindingOutput) bop.getBindingOutput(); - List bOutputList = bOutput.getExtensibilityElements(); - for (int j = 0; j < eeList.size(); j++) { - Object body = bOutputList.get(j); - if (body instanceof SOAPBody) { - SOAPBody sBody = (SOAPBody) body; - Assert.assertEquals(sBody.getUse(), "literal"); - } else if (body instanceof SOAP12Body) { - SOAP12Body sBody = (SOAP12Body) body; - Assert.assertEquals(sBody.getUse(), "literal"); - } else { - Assert.assertFalse(body instanceof SOAPHeader); - Assert.assertFalse(body instanceof SOAP12Header); - Assert.assertFalse(body instanceof SOAPHeaderFault); - Assert.assertFalse(body instanceof SOAP12HeaderFault); - } - } - - Map bFaults = bop.getBindingFaults(); - if (bFaults.size() > 0) - System.out.println("WARNING: Skipped to test binding faults"); - - } - } - } - - /** - * Lines 288-289:
    - * 2.3.3.1 SOAP versions
    - * Where a web service binding requires a specific SOAP version, then a - * single WSDL port and SOAP binding of the appropriate version is - * generated. - */ - @Test - public void testSoapVersion8() throws Exception { - - Map pMap = getPorts(cWSDL, "CService"); - int numSoapPort = 0; - int numSoap12Port = 0; - int numHttpPort = 0; - for (Iterator iter = pMap.keySet().iterator(); iter.hasNext();) { - Object k2 = iter.next(); - Port p = (Port) pMap.get(k2); - List eeList = p.getExtensibilityElements(); - for (int i = 0; i < eeList.size(); i++) { - Object address = eeList.get(i); - if (address instanceof SOAPAddress) { - numSoapPort++; - } else if (address instanceof SOAP12Address) { - numSoap12Port++; - } else if (address instanceof HTTPAddress) { - numHttpPort++; - }; - } - } - - Map cMap = cWSDL.getBindings(); - int numSoapBinding = 0; - int numSoap12Binding = 0; - int numHttpBinding = 0; - for (Iterator iter = cMap.keySet().iterator(); iter.hasNext();) { - Object k1 = iter.next(); - Binding b = (Binding) cMap.get(k1); - List eeList = b.getExtensibilityElements(); - for (int i = 0; i < eeList.size(); i++) { - Object binding = eeList.get(i); - if (binding instanceof SOAPBinding) { - numSoapBinding++; - } else if (binding instanceof SOAP12Binding) { - numSoap12Binding++; - } else if (binding instanceof HTTPBinding) { - numHttpBinding++; - } - } - } - - System.out.println("testSoapVersion8"); - System.out.println(" # of SOAPPort: " + numSoapPort); - System.out.println(" # of SOAP12Port: " + numSoap12Port); - System.out.println(" # of HTTPPort: " + numHttpPort); - System.out.println(" # of SOAPBinding: " + numSoapBinding); - System.out.println(" # of SOAP12Binding: " + numSoap12Binding); - System.out.println(" # of HTTPBinding: " + numHttpBinding); - - Assert.assertTrue(numSoap12Port > 0); - Assert.assertTrue(numSoap12Binding > 0); - Assert.assertEquals(numSoapPort, 0); - Assert.assertEquals(numSoapBinding, 0); - // Skipped to test HTTP - } - - private boolean testOperation(Operation op, Method m[]) { - for (int i = 0; i < m.length; i++) { - if(m[i].getName().equals(op.getName())) { - Assert.assertNotNull(op.getInput()); - Assert.assertNotNull(op.getOutput()); - return true; - } - } - return false; - } - - /** - * Lines 293-296:
    - * 2.3.4 WSDL PortType
    - * An SCA service has a single interface. This interface is always imported - * into the generated WSDL document. This may be done directly for - * WSDL-defined interfaces, or indirectly via a WSDL generated from the - * interface type for the service.
    - */ - @Test - public void testSoapVersion9() throws Exception { - Method bMethod[] = BService.class.getMethods(); - Map bPTMap = bWSDL.getPortTypes(); - Assert.assertEquals(bPTMap.size(), 1); - for (Iterator iter = bPTMap.keySet().iterator(); iter.hasNext();) { - PortType pt = (PortType) bPTMap.get(iter.next()); - List opList = pt.getOperations(); - Assert.assertEquals(bMethod.length, opList.size()); - for (int i = 0; i < opList.size(); i++) { - Operation op = (Operation) opList.get(i); - Assert.assertTrue(testOperation(op, bMethod)); - } - } - - Method cMethod[] = CService.class.getMethods(); - Map cPTMap = cWSDL.getPortTypes(); - Assert.assertEquals(cPTMap.size(), 1); - for (Iterator iter = cPTMap.keySet().iterator(); iter.hasNext();) { - PortType pt = (PortType) cPTMap.get(iter.next()); - List opList = pt.getOperations(); - Assert.assertEquals(cMethod.length, opList.size()); - for (int i = 0; i < opList.size(); i++) { - Operation op = (Operation) opList.get(i); - Assert.assertTrue(testOperation(op, cMethod)); - } - } - } - - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java deleted file mode 100644 index 896b5a3d89..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlNoSoapVersionTestCase.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import junit.framework.Assert; -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element without WSDL document - * described in section section 2.3.1 and 2.3.3.1 of SCA Web Services Binding - * V1.00 - */ -public class NoWsdlNoSoapVersionTestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "nowsdlsoapversion.composite"; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 251-253, 287-291:
    - *

  • soap
  • - * This indicates that a SOAP binding is required. The SOAP binding may be - * of any SOAP version, including multiple versions.
    - *
    - * 2.3.3.1 SOAP versions
    - * Where a web service binding requires a specific SOAP version, then a - * single WSDL port and SOAP binding of the appropriate version is - * generated. Where no specific SOAP version is required, then one or more - * WSDL ports with associated SOAP bindings may be generated, depending on - * the level(s) supported in the target runtime.
    - *

    - */ - @Test - public void testSoapVersion1() throws Exception { - - for (int i = 0; i < 8; i++) { - AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); - String aName = a.getName(); - String b1Str1 = a.getB1String("string1"); - String b1Str2 = a.getB1String2("string2", "string3"); - int b1Int = a.getB1Int(i * 1000 + 1000); - System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(i * 1000 + 1000, b1Int); - } - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java b/java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java deleted file mode 100644 index c65f7e8e52..0000000000 --- a/java/sca/vtest/wsbinding/nowsdl/soapversion/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/nowsdl/soapversion/NoWsdlSoapVersionTestCase.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion; - -import junit.framework.Assert; -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.AService; -import org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.DService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element without WSDL document - * described in section section 2.3.1, 2.3.2 and 2.3.3.1 of SCA Web Services - * Binding V1.00 - */ -public class NoWsdlSoapVersionTestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "nowsdlsoapversion.composite"; - protected static DService d; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - d = ServiceFinder.getService(DService.class, "DComponent"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 254-257:
    - *

  • soap.1_1

  • - * A SOAP 1.1 binding only is required.
    - *
  • soap.1_2

  • - * A SOAP 1.2 binding only is required.
    - *
    - * 2.3.3.1 SOAP versions
    - * Where a web service binding requires a specific SOAP version, then a - * single WSDL port and SOAP binding of the appropriate version is - * generated. Where no specific SOAP version is required, then one or more - * WSDL ports with associated SOAP bindings may be generated, depending on - * the level(s) supported in the target runtime.
    - *

    - */ - @Test - public void testSoapVersion2() throws Exception { - - for (int i = 8; i < 16; i++) { - AService a = ServiceFinder.getService(AService.class, "AComponent" + (i+1)); - String aName = a.getName(); - String b1Str1 = a.getB1String("string1"); - String b1Str2 = a.getB1String2("string2", "string3"); - int b1Int = a.getB1Int(i * 1000 + 1000); - System.out.println(i + " - " + aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(i * 1000 + 1000, b1Int); - } - } - - /** - * Lines 254-257, 287-291, 260-262:
    - * A separate WSDL document is generated for each SCA service. Each has - * its own unique target namespace. This is to ensure that bindings on - * different services of the same component do not clash.
    - *

    - * Test two references using binding.ws with 2 different SOAP versions - * and without WSDL document.
    - */ - @Test - public void testSoapVersion3() throws Exception { - String dName = d.getName(); - String b1Str1 = d.getB1String("string1"); - String b1Str2 = d.getB1String2("string2", "string3"); - String c1Str1 = d.getC1String("string5"); - String c1Str2 = d.getC1String2("string6", "string7"); - - int b1Int = d.getB1Int(4000); - float c1Float = d.getC1Float((float) 8.8); - - Integer c1Integer = d.getC1Integer(new Integer(9000)); - - System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); - Assert.assertEquals("DService", dName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - Assert.assertEquals("string5", c1Str1); - Assert.assertEquals("string6string7", c1Str2); - Assert.assertEquals((float) 8.8, c1Float); - Assert.assertEquals(new Integer(9000), c1Integer); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/pom.xml b/java/sca/vtest/wsbinding/pom.xml deleted file mode 100644 index 786fc89731..0000000000 --- a/java/sca/vtest/wsbinding/pom.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-vtest - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding - pom - Apache Tuscany SCA Web Service Binding Verification Tests - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - vtest-utilities - 2.0-SNAPSHOT - runtime - - - - - - - - default - - true - - - service - nowsdl - wsdlelement - - - - diff --git a/java/sca/vtest/wsbinding/service/pom.xml b/java/sca/vtest/wsbinding/service/pom.xml deleted file mode 100644 index 4fb8d98b57..0000000000 --- a/java/sca/vtest/wsbinding/service/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-service - Apache Tuscany SCA Web Service Binding Verification Tests - Service - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-tomcat - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java deleted file mode 100644 index bdb5aa3821..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AClientService.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AClientService. - */ -@Remotable -public interface AClientService { - public String getGreetingsForward(String name); -} diff --git a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java deleted file mode 100644 index 2dc7afce0c..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/AService.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService. - */ -@Remotable -public interface AService { - public String getGreetings(String name); -} diff --git a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java deleted file mode 100644 index 93cd716abe..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AClientServiceImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.AClientService; -import org.apache.tuscany.sca.vtest.wsbinding.AService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AClientService.class) -public class AClientServiceImpl implements AClientService { - - @Reference - protected AService aService; - - public String getGreetingsForward(String name) { - return aService.getGreetings(name); - } -} diff --git a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java b/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java deleted file mode 100644 index 6ab7668c8b..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/impl/AServiceImpl.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.AService; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - public String getGreetings(String name) { - return "Hello " + name; - } -} diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl b/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl deleted file mode 100644 index e7953eb2b4..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/resources/aservice.wsdl +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite b/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite deleted file mode 100644 index 0d92174442..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/resources/endpoint-uri-resolution.composite +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - http://localhost:8085/AService/endpointref - - - - - - - - - inAddress - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/endpointreference.composite b/java/sca/vtest/wsbinding/service/src/main/resources/endpointreference.composite deleted file mode 100644 index 3ba152b7b8..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/resources/endpointreference.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - http://localhost:8085/AService/endpointref - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite deleted file mode 100644 index 85c604070a..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlbinding.composite +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite deleted file mode 100644 index 0c11c79efe..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlendpoint.composite +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlport.composite b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlport.composite deleted file mode 100644 index 859b93bec4..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlport.composite +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlservice.composite b/java/sca/vtest/wsbinding/service/src/main/resources/wsdlservice.composite deleted file mode 100644 index fa96e650de..0000000000 --- a/java/sca/vtest/wsbinding/service/src/main/resources/wsdlservice.composite +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java deleted file mode 100644 index d858daaf78..0000000000 --- a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointReferenceTestCase.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests EndpointReference element specified in service binding.ws as per Web - * Services Binding Specification v1.00 - Sec 2.1 - Lines 61 to 65. - */ -public class EndpointReferenceTestCase { - - protected static String compositeName = "endpointreference.composite"; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 61-65 - *

    - * /binding.ws/wsa:EndpointReference – optional WS-Addressing [6] - * EndpointReference that specifies the endpoint for the service or - * reference. When this element is present along with the wsdlElement - * attribute on the parent element, the wsdlElement attribute value MUST be - * of the ‘Binding’ form as specified above, i.e. #wsdl.binding(). - */ - @Test - public void testWsdlBinding() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java deleted file mode 100644 index 49f9db248f..0000000000 --- a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/EndpointUriResolutionTestCase.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * Tests "Endpoint URI resolution" for service binding.ws as per Web Services - * Binding Specification v1.00 - Sec 2.1.1 - Lines 70 to 85. - */ -public class EndpointUriResolutionTestCase { - - protected static String compositeName = "endpoint-uri-resolution.composite"; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 71-78 - *

    - * The rules for resolving the URI at which an SCA service is hosted, or SCA - * reference targets, when used with binding.ws (in precedence order) are: - * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI - * specified by the wsa:Address element of the wsa:EndpointReference, 2. The - * explicitly stated URI in the "uri" attribute of the binding.ws element, - * which may be relative, 3. The implicit URI as defined by the Assembly - * specification - *

    - * This method tests that URI in the endpoint takes precedence. - */ - @Test - public void testUriInEndpoint() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent1"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - /** - * Lines 71-78 - *

    - * The rules for resolving the URI at which an SCA service is hosted, or SCA - * reference targets, when used with binding.ws (in precedence order) are: - * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI - * specified by the wsa:Address element of the wsa:EndpointReference, 2. The - * explicitly stated URI in the "uri" attribute of the binding.ws element, - * which may be relative, 3. The implicit URI as defined by the Assembly - * specification - *

    - * This method tests that URI in the EndpointReference takes precedence. - */ - @Test - public void testUriInEndpointReference() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent2"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - /** - * Lines 71-78 - *

    - * The rules for resolving the URI at which an SCA service is hosted, or SCA - * reference targets, when used with binding.ws (in precedence order) are: - * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI - * specified by the wsa:Address element of the wsa:EndpointReference, 2. The - * explicitly stated URI in the "uri" attribute of the binding.ws element, - * which may be relative, 3. The implicit URI as defined by the Assembly - * specification - *

    - * This method tests that explicitly stated URI in the "uri" attribute of - * binding.ws takes precedence. - */ - @Test - public void testUriInBindingWs() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent3"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - /** - * Lines 71-78 - *

    - * The rules for resolving the URI at which an SCA service is hosted, or SCA - * reference targets, when used with binding.ws (in precedence order) are: - * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI - * specified by the wsa:Address element of the wsa:EndpointReference, 2. The - * explicitly stated URI in the "uri" attribute of the binding.ws element, - * which may be relative, 3. The implicit URI as defined by the Assembly - * specification - *

    - * This method tests that implicit URI is used. - */ - @Ignore("TUSCANY-2523 - Port 8080 conflicts with Continuum") - @Test - public void testImplicitUri() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent4"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - /** - * Lines 71-78 - *

    - * The rules for resolving the URI at which an SCA service is hosted, or SCA - * reference targets, when used with binding.ws (in precedence order) are: - * 1. The URIs in the endpoint(s) of the referenced WSDL or The URI - * specified by the wsa:Address element of the wsa:EndpointReference, 2. The - * explicitly stated URI in the "uri" attribute of the binding.ws element, - * which may be relative, 3. The implicit URI as defined by the Assembly - * specification - *

    - * This method tests that explicitly stated URI in the "uri" attribute of - * the binding.ws is used in the absence of a wsdlElement. - */ - @Test - public void testNoWsdlElement() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent5"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - /** - * Lines 79-83 - *

    - * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a - * relative URI, in which case it is relative to the URI defined in (2) or - * (3). The wsa:Address element can be the empty relative URI, in which case - * it uses the URI defined in (2) or (3) directly. This allows the EPR - * writer to specify reference parameters, metadata and other EPR contents - * while allowing the URI to be chosen by the deployer. - *

    - * This method tests that the relative URI specified in WSDL endpoint is - * used along with the explicit URI specified in the "uri" attribute of - * binding.ws element. - */ - @Test - public void testRelativeUriInWsdl() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent6"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - /** - * Lines 79-83 - *

    - * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a - * relative URI, in which case it is relative to the URI defined in (2) or - * (3). The wsa:Address element can be the empty relative URI, in which case - * it uses the URI defined in (2) or (3) directly. This allows the EPR - * writer to specify reference parameters, metadata and other EPR contents - * while allowing the URI to be chosen by the deployer. - *

    - * This method tests that the relative URI specified in wsa:Address is used - * along with the explicit URI specified in the "uri" attribute of - * binding.ws element. - */ - @Test - public void testRelativeUriInAddress() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent7"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - /** - * Lines 79-83 - *

    - * The URI in the WSDL endpoint or in the wsa:Address of an EPR may be a - * relative URI, in which case it is relative to the URI defined in (2) or - * (3). The wsa:Address element can be the empty relative URI, in which case - * it uses the URI defined in (2) or (3) directly. This allows the EPR - * writer to specify reference parameters, metadata and other EPR contents - * while allowing the URI to be chosen by the deployer. - *

    - * This method tests that when wsa:Address is empty, the explicit URI - * specified in the "uri" attribute of binding.ws element is used. - */ - @Test - public void testEmptyAddressElement() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent8"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java deleted file mode 100644 index 292de8b654..0000000000 --- a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlBindingTestCase.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests wsdlElement specified on service binding.ws as per Web Services Binding Specification v1.00 - Sec 2.1 - * - Lines 35 to 54. - */ -public class WsdlBindingTestCase { - - protected static String compositeName = "wsdlbinding.composite"; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 50-54 - *

    - * Binding: - * #wsdl.binding() - * In this case, the identified WSDL binding must have an equivalent PortType with the SCA - * service or reference. In this case the endpoint address URI for the SCA service or - * reference must be provided via the URI attribute on the binding. - */ - @Test - public void testWsdlBinding() throws Exception { - AClientService aClientBnd11 = ServiceFinder.getService(AClientService.class, "AClientBnd11Component"); - Assert.assertEquals("Hello Pandu", aClientBnd11.getGreetingsForward("Pandu")); - AClientService aClientBnd12 = ServiceFinder.getService(AClientService.class, "AClientBnd12Component"); - Assert.assertEquals("Hello Pandu", aClientBnd12.getGreetingsForward("Pandu")); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java deleted file mode 100644 index 842da87bd4..0000000000 --- a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlEndpointTestCase.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * Tests wsdlElement specified on service binding.ws as per Web Services Binding - * Specification v1.00 - Sec 2.1 - Lines 35 to 54. - */ -public class WsdlEndpointTestCase { - - protected static String compositeName = "wsdlendpoint.composite"; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 46-49 - *

    - * Endpoint (WSDL 2.0): #wsdl.endpoint(/) - * In this case, the identified endpoint in the WSDL 2.0 Service must have - * an equivalent PortType with the SCA service or reference. - */ - @Test - @Ignore("WSDL2.0 Support") - public void testWsdlEndpoint() throws Exception { - AClientService aClient = ServiceFinder.getService(AClientService.class, "AClientComponent"); - Assert.assertEquals("Hello Pandu", aClient.getGreetingsForward("Pandu")); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java deleted file mode 100644 index 0545cef776..0000000000 --- a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlPortTestCase.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests wsdlElement specified on service binding.ws as per Web Services Binding - * Specification v1.00 - Sec 2.1 - Lines 35 to 54. - */ -public class WsdlPortTestCase { - - protected static String compositeName = "wsdlport.composite"; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 42-45 - *

    - * Port (WSDL 1.1): #wsdl.port(/) - * In this case, the identified port in the WSDL 1.1 Service must have an - * equivalent PortType with the SCA service or reference. - */ - @Test - public void testWsdlPort() throws Exception { - AClientService aClientP11 = ServiceFinder.getService(AClientService.class, "AClientP11Component"); - Assert.assertEquals("Hello Pandu", aClientP11.getGreetingsForward("Pandu")); - AClientService aClientP12 = ServiceFinder.getService(AClientService.class, "AClientP12Component"); - Assert.assertEquals("Hello Pandu", aClientP12.getGreetingsForward("Pandu")); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java b/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java deleted file mode 100644 index aa2b2fac7a..0000000000 --- a/java/sca/vtest/wsbinding/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/WsdlServiceTestCase.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * Tests wsdlElement specified on service binding.ws as per Web Services Binding - * Specification v1.00 - Sec 2.1 - Lines 35 to 54. - */ -public class WsdlServiceTestCase { - - protected static String compositeName = "wsdlservice.composite"; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 38-41 - *

    - * Service: #wsdl.service() In this case, - * all the endpoints in the WSDL Service that have equivalent PortTypes with - * the SCA service or reference must be available to the SCA service or - * reference. - */ - @Test - @Ignore("TUSCANY-2298") - public void testWsdlService() throws Exception { - AClientService aClientS11 = ServiceFinder.getService(AClientService.class, "AClientS11Component"); - Assert.assertEquals("Hello Pandu", aClientS11.getGreetingsForward("Pandu")); - AClientService aClientS12 = ServiceFinder.getService(AClientService.class, "AClientS12Component"); - Assert.assertEquals("Hello Pandu", aClientS12.getGreetingsForward("Pandu")); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/pom.xml b/java/sca/vtest/wsbinding/wsdlelement/binding/pom.xml deleted file mode 100644 index 648aa920e8..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding-wsdlelement - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-wsdlelement-binding - Apache Tuscany SCA Web Service Binding Verification Tests - WSDL wsdlElement wsdl.binding - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-tomcat - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java deleted file mode 100644 index 2f6db92318..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/AService.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService. - */ -@Remotable -public interface AService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getB2String(String aString); - - public int getB2Int(int i); -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java deleted file mode 100644 index a040adb113..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java deleted file mode 100644 index 3195263584..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/BService2.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService2 { - - public String getString(String aString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java deleted file mode 100644 index aed5abebf4..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/CService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface CService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public Integer getInteger(Integer i); - - public float getFloat(float f); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java deleted file mode 100644 index 3386ea709f..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/DService.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for DService. - */ -@Remotable -public interface DService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getC1String(String aString); - - public String getC1String2(String aString, String bString); - - public Integer getC1Integer(Integer i); - - public float getC1Float(float f); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java deleted file mode 100644 index 853cc74d4e..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/AServiceImpl.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.AService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService2; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference(required=false) - public BService b1; - - @Reference(required=false) - public BService2 b2; - - public String getName() { - return "AService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getB2String(String aString) { - return b2.getString(aString); - } - - public int getB2Int(int i) { - return b2.getInt(i); - } - -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java deleted file mode 100644 index 43051d6f10..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BService2Impl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService2; -import org.oasisopen.sca.annotation.Service; - -@Service(BService2.class) -public class BService2Impl implements BService2 { - - public String getName() { - return "BService"; - } - - public String getString(String aString) { - return aString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java deleted file mode 100644 index 5496362e34..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/BServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java deleted file mode 100644 index 63753d4ba7..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/CServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.CService; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl implements CService { - - public String getName() { - return "CService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public Integer getInteger(Integer i) { - return i; - } - - public float getFloat(float f) { - return f; - } - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java deleted file mode 100644 index 0a268ff447..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/impl/DServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.BService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.CService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.DService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements DService. - */ -@Service(DService.class) -public class DServiceImpl implements DService { - - @Reference - public BService b1; - - @Reference - public CService c1; - - public String getName() { - return "DService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getC1String(String aString) { - return c1.getString(aString); - } - - public String getC1String2(String aString, String bString) { - return c1.getString2(aString, bString); - } - - public Integer getC1Integer(Integer i) { - return c1.getInteger(i); - } - - public float getC1Float(float f) { - return c1.getFloat(f); - } -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl deleted file mode 100644 index 8ce0fbaeb8..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/bservice.wsdl +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl deleted file mode 100644 index ff151faa7a..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/cservice.wsdl +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite b/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite deleted file mode 100644 index 6b97b5e602..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/main/resources/wsdlelement.binding.composite +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java b/java/sca/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java deleted file mode 100644 index f30cf38654..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/binding/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/binding/WsdlElementBindingTestCase.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding; - -import static org.junit.Assert.fail; -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.AService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.binding.DService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element wsdl.binding with WSDL - * document described in section section 2.1 of SCA Web Services Binding - * V1.00
    - */ -public class WsdlElementBindingTestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "wsdlelement.binding.composite"; - protected static AService a1; - protected static AService a2; - protected static AService a3; - protected static AService a4; - protected static DService d; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a1 = ServiceFinder.getService(AService.class, "AComponent1"); - a2 = ServiceFinder.getService(AService.class, "AComponent2"); - a3 = ServiceFinder.getService(AService.class, "AComponent3"); - a4 = ServiceFinder.getService(AService.class, "AComponent4"); - d = ServiceFinder.getService(DService.class, "DComponent1"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 50-54:
    - * Binding:
    - * #wsdl.binding()
    - * In this case, the identified WSDL binding must have an equivalent - * PortType with the SCA service or reference. In this case the endpoint - * address URI for the SCA service or reference must be provided via the - * URI attribute on the binding.
    - *
    - * Tests wsdl.binding(BService1SOAPBinding)
    - */ - @Test - public void testWsdlElementBinding1() throws Exception { - String aName = a1.getName(); - String b1Str1 = a1.getB1String("string1"); - String b1Str2 = a1.getB1String2("string2", "string3"); - int b1Int = a1.getB1Int(1000); - - System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(1000, b1Int); - } - - /** - * Lines 50-54:
    - * Binding:
    - *
    - * Tests wsdl.binding(BService2SOAPBinding) with BService where the binding - * does not define getString2, so exceptions are expected.
    - */ - @Test - public void testWsdlElementBinding2() throws Exception { - String aName = a2.getName(); - System.out.println(aName + ": "); - try { - a2.getB1String("string1"); - fail("Should not be able to call getString"); - } catch (Exception e) { - System.out.println(" Exception is expected: " + e.toString()); - } - try { - a2.getB1String2("string2", "string3"); - fail("Should not be able to call getString2"); - } catch (Exception e) { - System.out.println(" Exception is expected: " + e.toString()); - } - try { - a2.getB1Int(2000); - fail("Should not be able to call getInt"); - } catch (Exception e) { - System.out.println(" Exception is expected: " + e.toString()); - } - } - - /** - * Lines 50-54:
    - * Binding:
    - *
    - * Tests wsdl.binding(BService2SOAPBinding) with BService2
    - */ - @Test - public void testWsdlElementBinding3() throws Exception { - String aName = a3.getName(); - String b2Str1 = a3.getB2String("string1"); - int b2Int = a3.getB2Int(3000); - - System.out.println(aName + ": " + b2Str1 + ", " + b2Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b2Str1); - Assert.assertEquals(3000, b2Int); - } - - /** - * Lines 50-54:
    - * Binding:
    - *
    - * Tests two references using wsdl.binding.
    - */ - @Test - public void testWsdlElementBinding4() throws Exception { - String dName = d.getName(); - String b1Str1 = d.getB1String("string1"); - String b1Str2 = d.getB1String2("string2", "string3"); - String c1Str1 = d.getC1String("string5"); - String c1Str2 = d.getC1String2("string6", "string7"); - - int b1Int = d.getB1Int(4000); - float c1Float = d.getC1Float((float) 8.8); - - Integer c1Integer = d.getC1Integer(new Integer(9000)); - - System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); - Assert.assertEquals("DService", dName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - Assert.assertEquals("string5", c1Str1); - Assert.assertEquals("string6string7", c1Str2); - Assert.assertEquals((float) 8.8, c1Float); - Assert.assertEquals(new Integer(9000), c1Integer); - } - - /** - * Lines 50-54:
    - * Binding:
    - *
    - * Tests wsdl.binding(BService3SOAP12Binding) which uses SOAP 1.2
    - */ - @Test - public void testWsdlElementBinding5() throws Exception { - String aName = a4.getName(); - String b1Str1 = a4.getB1String("string1"); - String b1Str2 = a4.getB1String2("string2", "string3"); - int b1Int = a4.getB1Int(5000); - - System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(5000, b1Int); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/pom.xml b/java/sca/vtest/wsbinding/wsdlelement/pom.xml deleted file mode 100644 index 13b0f4ea8c..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/pom.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-wsdlelement - pom - Apache Tuscany SCA Web Service Binding Verification Tests - wsdlElement - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - vtest-utilities - 2.0-SNAPSHOT - runtime - - - - - - - - default - - true - - - service - port - binding - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/pom.xml b/java/sca/vtest/wsbinding/wsdlelement/port/pom.xml deleted file mode 100644 index e47ca9c9da..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding-wsdlelement - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-wsdlelement-port - Apache Tuscany SCA Web Service Binding Verification Tests - WSDL wsdlElement wsdl.port - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-tomcat - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java deleted file mode 100644 index 6fa9906d45..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/AService.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService. - */ -@Remotable -public interface AService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getB2String(String aString); - - public int getB2Int(int i); -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java deleted file mode 100644 index 978d515f92..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java deleted file mode 100644 index 766139ee92..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/BService2.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService2 { - - public String getString(String aString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java deleted file mode 100644 index ee9ca25a4b..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/CService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface CService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public Integer getInteger(Integer i); - - public float getFloat(float f); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java deleted file mode 100644 index 80d998d1a6..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/DService.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for DService. - */ -@Remotable -public interface DService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getC1String(String aString); - - public String getC1String2(String aString, String bString); - - public Integer getC1Integer(Integer i); - - public float getC1Float(float f); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java deleted file mode 100644 index bec82776bf..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/AServiceImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.AService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService2; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference(required=false) - public BService b1; - - @Reference(required=false) - public BService2 b2; - - public String getName() { - return "AService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getB2String(String aString) { - return b2.getString(aString); - } - - public int getB2Int(int i) { - return b2.getInt(i); - } -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java deleted file mode 100644 index b379a2e3ef..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BService2Impl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService2; -import org.oasisopen.sca.annotation.Service; - -@Service(BService2.class) -public class BService2Impl implements BService2 { - - public String getName() { - return "BService2"; - } - - public String getString(String aString) { - return aString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java deleted file mode 100644 index 069308a520..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/BServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java deleted file mode 100644 index 7ad9e3066c..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/CServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.CService; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl implements CService { - - public String getName() { - return "CService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public Integer getInteger(Integer i) { - return i; - } - - public float getFloat(float f) { - return f; - } - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java deleted file mode 100644 index 58ae1e9577..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/impl/DServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.BService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.CService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.DService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements DService. - */ -@Service(DService.class) -public class DServiceImpl implements DService { - - @Reference - public BService b1; - - @Reference - public CService c1; - - public String getName() { - return "DService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getC1String(String aString) { - return c1.getString(aString); - } - - public String getC1String2(String aString, String bString) { - return c1.getString2(aString, bString); - } - - public Integer getC1Integer(Integer i) { - return c1.getInteger(i); - } - - public float getC1Float(float f) { - return c1.getFloat(f); - } -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl deleted file mode 100644 index d5c8d72dc1..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/bservice.wsdl +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl deleted file mode 100644 index 8a715a2081..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/cservice.wsdl +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite b/java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite deleted file mode 100644 index 5b9b77683e..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/main/resources/wsdlelement.port.composite +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java b/java/sca/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java deleted file mode 100644 index 0db579002b..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/port/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/port/WsdlElementPortTestCase.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port; - -import static org.junit.Assert.fail; -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.AService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.port.DService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element wsdl.port with WSDL - * document described in section section 2.1 of SCA Web Services Binding - * V1.00
    - */ -public class WsdlElementPortTestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "wsdlelement.port.composite"; - protected static AService a1; - protected static AService a2; - protected static AService a3; - protected static AService a4; - protected static DService d; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a1 = ServiceFinder.getService(AService.class, "AComponent1"); - a2 = ServiceFinder.getService(AService.class, "AComponent2"); - a3 = ServiceFinder.getService(AService.class, "AComponent3"); - a4 = ServiceFinder.getService(AService.class, "AComponent4"); - d = ServiceFinder.getService(DService.class, "DComponent1"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 42-45:
    - * Port (WSDL 1.1):
    - * #wsdl.port(/) - * In this case, the identified port in the WSDL 1.1 Service must have an - * equivalent PortType with the SCA service or reference.
    - *
    - * Test wsdl.port(BService/BService1SOAP)
    - */ - @Test - public void testWsdlElementPort1() throws Exception { - String aName = a1.getName(); - String b1Str1 = a1.getB1String("string1"); - String b1Str2 = a1.getB1String2("string2", "string3"); - int b1Int = a1.getB1Int(1000); - - System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(1000, b1Int); - } - - /** - * Lines 42-45:
    - * Port (WSDL 1.1):
    - *
    - * Tests wsdl.port(BService/BService2SOAP) with BService where the port - * does not define getString2, so exceptions are expected.
    - */ - @Test - public void testWsdlElementPort2() throws Exception { - String aName = a2.getName(); - System.out.println(aName + ": "); - try { - a2.getB1String("string1"); - fail("Should not be able to call getString"); - } catch (Exception e) { - System.out.println(" Exception is expected: " + e.toString()); - } - try { - a2.getB1String2("string2", "string3"); - fail("Should not be able to call getString2"); - } catch (Exception e) { - System.out.println(" Exception is expected: " + e.toString()); - } - try { - a2.getB1Int(2000); - fail("Should not be able to call getInt"); - } catch (Exception e) { - System.out.println(" Exception is expected: " + e.toString()); - } - } - - /** - * Lines 42-45:
    - * Port (WSDL 1.1):
    - *
    - * Tests wsdl.port(BService/BService2SOAP) with BService2
    - */ - @Test - public void testWsdlElementPort3() throws Exception { - String aName = a3.getName(); - String b2Str1 = a3.getB2String("string1"); - int b2Int = a3.getB2Int(1000); - - System.out.println(aName + ": " + b2Str1 + ", " + b2Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b2Str1); - Assert.assertEquals(1000, b2Int); - } - - /** - * Lines 42-45:
    - * Port (WSDL 1.1):
    - *
    -= * Tests two references using wsdl.port.
    - */ - @Test - public void testWsdlElementPort4() throws Exception { - String dName = d.getName(); - String b1Str1 = d.getB1String("string1"); - String b1Str2 = d.getB1String2("string2", "string3"); - String c1Str1 = d.getC1String("string5"); - String c1Str2 = d.getC1String2("string6", "string7"); - - int b1Int = d.getB1Int(4000); - float c1Float = d.getC1Float((float) 8.8); - - Integer c1Integer = d.getC1Integer(new Integer(9000)); - - System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); - Assert.assertEquals("DService", dName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - Assert.assertEquals("string5", c1Str1); - Assert.assertEquals("string6string7", c1Str2); - Assert.assertEquals((float) 8.8, c1Float); - Assert.assertEquals(new Integer(9000), c1Integer); - } - - /** - * Lines 42-45:
    - * Port (WSDL 1.1):
    - *
    -= * Tests wsdl.port(BService/BService3SOAP12) which uses SOAP 1.2
    - */ - @Test - public void testWsdlElementPort5() throws Exception { - String aName = a4.getName(); - String b1Str1 = a4.getB1String("string1"); - String b1Str2 = a4.getB1String2("string2", "string3"); - int b1Int = a4.getB1Int(5000); - - System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(5000, b1Int); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/pom.xml b/java/sca/vtest/wsbinding/wsdlelement/service/pom.xml deleted file mode 100644 index 39f2c45921..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - vtest-wsbinding-wsdlelement - 2.0-SNAPSHOT - ../pom.xml - - vtest-wsbinding-wsdlelement-service - Apache Tuscany SCA Web Service Binding Verification Tests - WSDL wsdlElement wsdl.service - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-tomcat - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - runtime - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java deleted file mode 100644 index 464a834570..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/AService.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for AService. - */ -@Remotable -public interface AService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getB2String(String aString); - - public int getB2Int(int i); - - public String getB3String(String aString); - - public int getB3Int(int i); - - public String getB4String(String aString); - - public String getB4String2(String aString, String bString); - - public int getB4Int(int i); -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java deleted file mode 100644 index 37ccee6cd4..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java deleted file mode 100644 index c8355f8f1b..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/BService2.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface BService2 { - - public String getString(String aString); - - public int getInt(int i); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java deleted file mode 100644 index d3f5ab1c47..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/CService.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Simple Service used by another service - */ -@Remotable -public interface CService { - - public String getString(String aString); - - public String getString2(String aString, String bString); - - public Integer getInteger(Integer i); - - public float getFloat(float f); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java deleted file mode 100644 index 1a64706a29..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/DService.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * The interface for DService. - */ -@Remotable -public interface DService { - - public String getName(); - - public String getB1String(String aString); - - public String getB1String2(String aString, String bString); - - public int getB1Int(int i); - - public String getC1String(String aString); - - public String getC1String2(String aString, String bString); - - public Integer getC1Integer(Integer i); - - public float getC1Float(float f); - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java deleted file mode 100644 index 986027c08a..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/AServiceImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.AService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService2; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements AService. - */ -@Service(AService.class) -public class AServiceImpl implements AService { - - @Reference(required=false) - public BService b1; - - @Reference(required=false) - public BService2 b2; - - @Reference(required=false) - public BService2 b3; - - @Reference(required=false) - public BService b4; - - public String getName() { - return "AService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getB2String(String aString) { - return b2.getString(aString); - } - - public int getB2Int(int i) { - return b2.getInt(i); - } - - public String getB3String(String aString) { - return b3.getString(aString); - } - - public int getB3Int(int i) { - return b3.getInt(i); - } - - public String getB4String(String aString) { - return b4.getString(aString); - } - - public String getB4String2(String aString, String bString) { - return b4.getString2(aString, bString); - } - - public int getB4Int(int i) { - return b4.getInt(i); - } -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java deleted file mode 100644 index a58297de69..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BService2Impl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService2; -import org.oasisopen.sca.annotation.Service; - -@Service(BService2.class) -public class BService2Impl implements BService2 { - - public String getName() { - return "BService"; - } - - public String getString(String aString) { - return aString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java deleted file mode 100644 index 3ecbc95901..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/BServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService; -import org.oasisopen.sca.annotation.Service; - -@Service(BService.class) -public class BServiceImpl implements BService { - - public String getName() { - return "BService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public int getInt(int i) { - return i; - } - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java deleted file mode 100644 index 05af362a25..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/CServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.CService; -import org.oasisopen.sca.annotation.Service; - -@Service(CService.class) -public class CServiceImpl implements CService { - - public String getName() { - return "CService"; - } - - public String getString(String aString) { - return aString; - } - - public String getString2(String aString, String bString) { - return aString + bString; - } - - public Integer getInteger(Integer i) { - return i; - } - - public float getFloat(float f) { - return f; - } - -} diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java deleted file mode 100644 index dadbb63873..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/impl/DServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.impl; - -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.BService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.CService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.DService; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements DService. - */ -@Service(DService.class) -public class DServiceImpl implements DService { - - @Reference - public BService b1; - - @Reference - public CService c1; - - public String getName() { - return "DService"; - } - - public String getB1String(String aString) { - return b1.getString(aString); - } - - public String getB1String2(String aString, String bString) { - return b1.getString2(aString, bString); - } - - public int getB1Int(int i) { - return b1.getInt(i); - } - - public String getC1String(String aString) { - return c1.getString(aString); - } - - public String getC1String2(String aString, String bString) { - return c1.getString2(aString, bString); - } - - public Integer getC1Integer(Integer i) { - return c1.getInteger(i); - } - - public float getC1Float(float f) { - return c1.getFloat(f); - } -} \ No newline at end of file diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl deleted file mode 100644 index 521f077c46..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/bservice.wsdl +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl deleted file mode 100644 index bdf294b473..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/cservice.wsdl +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite b/java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite deleted file mode 100644 index 9801ecd037..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/main/resources/wsdlelement.service.composite +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java b/java/sca/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java deleted file mode 100644 index 22d2a80244..0000000000 --- a/java/sca/vtest/wsbinding/wsdlelement/service/src/test/java/org/apache/tuscany/sca/vtest/wsbinding/wsdlelement/service/WsdlElementServiceTestCase.java +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service; - -import static org.junit.Assert.fail; -import junit.framework.Assert; - -import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.AService; -import org.apache.tuscany.sca.vtest.wsbinding.wsdlelement.service.DService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests the simplest form of the binding element wsdl.service with WSDL - * document described in section section 2.1 of SCA Web Services Binding - * V1.00
    - */ -public class WsdlElementServiceTestCase { - - protected static ServiceFinder serviceFinder; - protected static String compositeName = "wsdlelement.service.composite"; - protected static AService a1; - protected static AService a2; - protected static AService a3; - protected static AService a4; - protected static AService a5; - protected static DService d; - - @BeforeClass - public static void init() throws Exception { - try { - System.out.println("Setting up"); - ServiceFinder.init(compositeName); - a1 = ServiceFinder.getService(AService.class, "AComponent1"); - a2 = ServiceFinder.getService(AService.class, "AComponent2"); - a3 = ServiceFinder.getService(AService.class, "AComponent3"); - a4 = ServiceFinder.getService(AService.class, "AComponent4"); - a5 = ServiceFinder.getService(AService.class, "AComponent5"); - d = ServiceFinder.getService(DService.class, "DComponent1"); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - /** - * Lines 38-41:
    - * Service:
    - * #wsdl.service()
    - * In this case, all the endpoints in the WSDL Service that have equivalent - * PortTypes with the SCA service or reference must be available to the SCA - * service or reference.
    - *
    - * Tests wsdl.service(BService)
    - */ - @Test - public void testWsdlElementService1() throws Exception { - String aName = a1.getName(); - String b1Str1 = a1.getB1String("string1"); - String b1Str2 = a1.getB1String2("string2", "string3"); - int b1Int = a1.getB1Int(1000); - - System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(1000, b1Int); - } - - /** - * Lines 38-41:
    - * Service:
    - *
    - * Tests wsdl.service(BService2) with with BService where the service - * does not define getString2, so exceptions are expected.
    - */ - @Test - public void testWsdlElementService2() throws Exception { - String aName = a2.getName(); - System.out.println(aName + ": "); - try { - a2.getB1String("string1"); - fail("Should not be able to call getString"); - } catch (Exception e) { - System.out.println(" Exception is expected: " + e.toString()); - } - try { - a2.getB1String2("string2", "string3"); - fail("Should not be able to call getString2"); - } catch (Exception e) { - System.out.println(" Exception is expected: " + e.toString()); - } - try { - a2.getB1Int(2000); - fail("Should not be able to call getInt"); - } catch (Exception e) { - System.out.println(" Exception is expected: " + e.toString()); - } - } - - /** - * Lines 38-41:
    - * Service:
    - *
    - * Tests wsdl.service(BService2) with BService2
    - */ - @Test - public void testWsdlElementService3() throws Exception { - String aName = a3.getName(); - String b2Str1 = a3.getB2String("string1"); - int b2Int = a3.getB2Int(1000); - - System.out.println(aName + ": " + b2Str1 + ", " + b2Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b2Str1); - Assert.assertEquals(1000, b2Int); - } - - /** - * Lines 38-41:
    - * Service:
    - *
    - * Tests two references using wsdl.service.
    - */ - @Test - public void testWsdlElementService4() throws Exception { - String dName = d.getName(); - String b1Str1 = d.getB1String("string1"); - String b1Str2 = d.getB1String2("string2", "string3"); - String c1Str1 = d.getC1String("string5"); - String c1Str2 = d.getC1String2("string6", "string7"); - - int b1Int = d.getB1Int(4000); - float c1Float = d.getC1Float((float) 8.8); - - Integer c1Integer = d.getC1Integer(new Integer(9000)); - - System.out.println(dName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int + ", " + c1Str1 + ", " + c1Str2 + ", " + c1Float + ", " + c1Integer); - Assert.assertEquals("DService", dName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(4000, b1Int); - Assert.assertEquals("string5", c1Str1); - Assert.assertEquals("string6string7", c1Str2); - Assert.assertEquals((float) 8.8, c1Float); - Assert.assertEquals(new Integer(9000), c1Integer); - } - - /** - * Lines 38-41:
    - * Service:
    - *
    - * Tests mixed bindings of using wsdl.port, wsdl.service, wsdl.binding, - * and soap 1.2 - *
    - */ - @Test - public void testWsdlElementService5() throws Exception { - String aName = a4.getName(); - String b1Str1 = a4.getB1String("port"); - String b1Str2 = a4.getB1String2("string1", "string2"); - int b1Int = a4.getB1Int(1000); - System.out.println(aName); - System.out.println(" b1: " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("port", b1Str1); - Assert.assertEquals("string1string2", b1Str2); - Assert.assertEquals(1000, b1Int); - - String b2Str1 = a4.getB2String("service"); - int b2Int = a4.getB2Int(2000); - System.out.println(" b2: " + b2Str1 + ", " + b2Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("service", b2Str1); - Assert.assertEquals(2000, b2Int); - - String b3Str1 = a4.getB3String("binding"); - int b3Int = a4.getB3Int(3000); - System.out.println(" b3: " + b3Str1 + ", " + b3Int); - Assert.assertEquals("binding", b3Str1); - Assert.assertEquals(3000, b3Int); - - String b4Str1 = a4.getB4String("soap12"); - String b4Str2 = a4.getB4String2("string3", "string4"); - int b4Int = a4.getB4Int(4000); - System.out.println(" b4: " + b4Str1 + ", " + b4Str2 + ", " + b4Int); - Assert.assertEquals("soap12", b4Str1); - Assert.assertEquals("string3string4", b4Str2); - Assert.assertEquals(4000, b4Int); - - } - - /** - * Lines 38-41:
    - * Service:
    - *
    - * Tests wsdl.service(BService3) which uses SOAP 1.2
    - */ - @Test - public void testWsdlElementService6() throws Exception { - String aName = a5.getName(); - String b1Str1 = a5.getB1String("string1"); - String b1Str2 = a5.getB1String2("string2", "string3"); - int b1Int = a5.getB1Int(6000); - - System.out.println(aName + ": " + b1Str1 + ", " + b1Str2 + ", " + b1Int); - Assert.assertEquals("AService", aName); - Assert.assertEquals("string1", b1Str1); - Assert.assertEquals("string2string3", b1Str2); - Assert.assertEquals(6000, b1Int); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println("Cleaning up"); - ServiceFinder.cleanup(); - } -} -- cgit v1.2.3